约定:import numpy as np
ndarray:多维数组对象
1.创建ndarry对象
使用array函数
嵌套序列转换为多维数组
np.array会尝试为新建数组推断出最为合适的类型,除非有显式说明
zeros和ones分别可创建指定长度和形状的全0或全1数组,empty可创建空数组
arange
eye/identity创建一个正方形的n*n单位矩阵
2.ndarray的数据类型dtype
浮点数转整数,小数部分会被截断
字符串数组若表示的全是数字,可转换为数值类型
3.数组和标量之间的运算
4.索引和切片
二维数组:arr[0][2]等价于arr[0,2]
切片索引:
只有冒号表示选取整个轴
对切片表达式的赋值操作
5.布尔型索引
6.花式索引:利用整数数组进行索引
传入多个索引数组,返回一个一维数组
花式索引与切片不同,总是将数据复制到新数组中
7.数组转置和轴对换
转置:返回源数据的视图(不进行任何复制操作)
8.通用函数ufunc
是对ndarray中的数据执行元素级运算的函数,可以看做是简单函数的矢量化包装器
9.利用数组进行数据处理
矢量化:用数组表达式代替循环
9.1 将条件逻辑表述为数组运算
根据cond中的值选取xarr和yarr中的值:当cond中的值为true时,选取xarr的值,否自选取yarr的值
但对大数组处理速度不够快,无法用于多维数组
使用np.where
where通常用于根据另一个数组而产生一个新数组
9.2数学和统计方法
9.3用于布尔型数组的方法
9.4排序
多维数组可以再任何一个轴向上进行排序
顶级方法np.sort返回的是数组的已排序副本,而就地排序会修改数组本身
9.5唯一化以及其他的集合逻辑
10.用于数组的文件输入输出
将数组以二进制格式保存到磁盘
默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中
如果文件路径末尾没有.npy,则该扩展名会被自动加上
保存多个数组