一、Numpy数据结构
ndarray,N维数组对象(矩阵)
- ndim属性,维度个数
- shape属性,各维度的大小
- dtype属性,数据类型
二、多维数组
1、创建
(1)np.array(collection),collection为序列型对象或者嵌套序列
(2)np.zeros(),np.ones(),指定大小的全0或全1的数组,第一个参数可用来指定数组的大小,如np.zeros((4,2)),代表4行2列的全0数组。
(3)np.random.rand(),生成指定形状的随机数组
(4)np.arange(),类似range函数,生成等差数组序列
import numpy as np
np.zeros((4,3)) # 生成4行3列的全0数组,需注意此处的4和3是在一个参数内
np.random.rand(4,3) # 生成4行3列的随机数组,需要注意此处4和3是两个参数
np.arange(10) # 生成含10个数的一维数组
arr = np.arange(14).reshape((2,7)) # 通过reshape重新转换为2行7列的数组
arr1 = arr.astype(float) # 将数组的数据类型转化为float类型
2、操作
(1)一维数组的索引与切片和列表索引类似
(2)多维数组的索引:
我们由图可以看出,多维数组的索引是一维的索引进行的组合,其实只要掌握了列表索引,那么数组的索引就自然掌握了。
(3)条件索引:arr[condition],condition可以是多个条件组合,而进行组合时要用&(与),|(或)等操作符。
(4)转置操作:T或np.transpose()或通过交换轴的位置np.swapaxes()
3、常用方法
np.mean()求均值
np.sum()求和
np.max()求最大值
np.min()求最小值
np.std()求标准差
np.var()求方差
np.argmax()求最大值的索引
np.argmin()求最小值的索引
np.cumsum()求累加
np.cumprod()求累乘
np.all()是否所有元素都满足条件
np.any()是否至少存在一个元素满足条件
np.unique()求唯一值并返回排序结果(列表形式)
注:默认是全部维度做统计,多维数组可以通过axis指定统计的维度,如np.max(a,axis=0)
三、通用函数
ceil(),向上最接近的整数
floor(),向下最接近的整数
rint(),四舍五入
isnan(),判断元素是否为NAN
multiply(),元素相乘,等同于数组的*操作【非矩阵乘法】
divide(),元素相除,等同于数组的 / 操作