重要提醒:对numpy数组的切片的任何修改都会反应到原数组
深浅拷贝 arr1=arr 实质上指向同一个内存空间
arr1=arr.copy() 深拷贝,两个不同的内存空间
切片与python内建列表在操作上基本没有区别。
arr[2:5:2] 三个参数分别是 [起始 结束 步长]
二维切片 arr[2:4,1:3] 理解为【切行,切列】
布尔索引 之前没用过,着重理解下:
python内建列表也可以,非numpy独有
numpy ,假设data1与data2具有一一对应的关系,用这样的方法可以很便捷的找到。
注意:使用布尔值索引时,布尔值索引的长度必须与被索引的数组长度一致,即data1与data2长度一致才会有想要的结果。但是长度不一致是也不会报错,容易混淆,使用该特性时需要注意这一点。
~ 符号取反:
& | 条件索引:
神奇索引 整数索引:
注意:是两层中括号 data2 [[3,1]] 第三4行和第2行,且会按照这种顺序输出
data2 [[3,1],[2,0]] # [4行2列,2行1列] 行、列长度必须一致,这种写法生成的必然是一位数组
data[[3,1]][:,[2,0,1]] 4行及1行的 第3、1、2列
神奇索引与切片不同,它总是将数据复制到一个新的数组中
数组的转置:
将条件逻辑作为数组操作 类似于布尔索引
np.where(条件,成立值,不成立值)
布尔值数组的方法
data=np.array([False,True])
data.any() ---> True
data.all() ----> False
排序
data.sort(1) 按列排序
线性代数、伪随机数等等。。。。。。。。。
更多方法未完待续。。。。。。。。。。。。。。。。