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]

你可能感兴趣的:(numpy之基础索引与分片)