Numpy

Numpy基础索引与切片

2019-01-15  本文已影响52人  SugeonYen

重要提醒:对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)    按列排序

线性代数、伪随机数等等。。。。。。。。。

更多方法未完待续。。。。。。。。。。。。。。。。

上一篇下一篇

猜你喜欢

热点阅读