numpy之基础索引与分片

ndarray数组有很多种方式让你选中数据的子集或某个单个元素

  • 一维数组与python列表类似
>>>a = np.arange(10)
>>>print(a)
>>>print(a[5])     ---通过下表取值
5
>>>print(a[5:8])   --- 通过切片选取范围
[5 6 7]
  • 给数组的切片赋值,数组被传递给了整个切片。区别于python的内置列表,数组的切片是原数组的视图(因为numpy被设计成适合处理非常大的数组),这意味着数据并不是被复制了,任何对于视图的修改都会反映到原数组上.
>>>a[5:8] = 13
>>>print(a)
[ 0  1  2  3  4 13 13 13  8  9]
>>>b = a[5:8]
>>>b[0] = 1111111
>>>print(a)
[   0  1    2    3    4  1111111   13    13    8  9]
  • 如果你需要复制数组,那你需要显示使用copy()方法
>>>b = a[5:8].copy()
>>>b[1] = 333333
>>>print(b)
[1111111  333333      13]
>>>print(a)
[   0  1    2    3    4  1111111   13    13    8  9]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容