【python笔记】NumPy入门

本文介绍了Python中NumPy库的使用,重点讲解了如何创建和操作ndarray数组,包括利用列表、元组和NumPy函数创建数组,以及数组的变换、索引、切片和计算。此外,还讨论了数组的类型转换、维度调整和一维、多维数组的索引方法。文章强调了resize与reshape的区别,并展示了数组与标量运算的特性。
摘要由CSDN通过智能技术生成

0 前言

数组的引入

在python里有列表,元组,字典,集合,在python里其实是没有数组的,但是NumPy引入了ndarray(数组对象)
这是因为引入ndarray,使得一维向量更像单个数据。
在这里插入图片描述
在这里插入图片描述

1.ndarray数组的创建

1.1 利用列表/元组

a=np.array([1,2,3,5])
b=np.array((1,2,3,5))

1.2 利用NumPy中的函数

1.2.1

a=np.arange(4)
b=np.zero(4,5)
c=np.ones(4,5)# 是ones 不是one,不要拼错了单词
d=np.full((3,4),6)
e=np.eye(5)  # 是eye 不是eyes,不要拼错了单词

在这里插入图片描述

1.2.2

在这里插入图片描述

1.2.3

a=np.linspace(0,6,4) # 生成数组[0. 2. 4. 6.],即把0到6 均等分,生成4个数
b=np.linspace(0,6,4,endpoint=False)#生成数组[0.  1.5 3.  4.5]
#对于数组b,因为endpoint=False,你可以理解为生成了[0.  1.5 3.  4.5  6.0],但是我们只要4个数,即不要最后一个数
c=np.concatenate(a,b)

在这里插入图片描述

2.ndarray数组的变换

在创建数组时,可以指定其类型:

a=np.ones((3,4),dtype=np.int32)

在创建后,可以改变其维度和类型

2.1改变ndarray数组的维度

在这里插入图片描述

2.1.1

要注意resize reshape的区别:
resize 会改变数组本身
在这里插入图片描述

2.1.2

在调用函数flatten swapaxes时,原数组不变!!

2.2 改变ndarray数组的维度

a=np.ones((3,4),dtype=np.int)
new_a=a.astype(np.float)
new_b=a.astype(np.int)#一定会创建一个新数组

和上面的一样,调用astype ,原数组不变
而且一定会创建一个新数组,即使数组类型根本没变

2.3 ndarray数组向列表的转变

在这里插入图片描述

3.ndarray数组的索引和切片

索引:获取数组中特定位置元素的过程
切片:获取数组子集元素的过程

3.1 一维数组的索引和切片

在这里插入图片描述

3.1 多维数组的索引和切片

要注意,数组从零开始计算
在这里插入图片描述

4.ndarray数组的计算

数组与标量的运算会作用于数组中的每一个元素

4.1 一元函数

在这里插入图片描述

4.2 二元函数

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值