NumPy 2D数组普通切片与基于布尔的切片

时间:2015-12-24 19:40:33

标签: python arrays numpy

我是Numpy的新手,我正在尝试2D阵列Numpy, 当以两种不同的方式切割数组时,我做了以下观察

Long.MAX_VALUE

根据numpy docs预计会出现此行为 但考虑一下这个切片

a = numpy.array([[1,2,3,4,5],[1,2,3,4,5]])
slice1 = a[:,:3]
slice1[0,0] = 100
print(a) 
-- gives, 100 2 3 4 5
           1  2 3 4 5

任何人都可以解释这两种方法之间的区别

1 个答案:

答案 0 :(得分:2)

来自NumPy indexing documentation

  

高级索引始终返回数据的副本(与返回view的基本切片形成对比)。

毕竟,如果你想让some_arr[[True, False, False, True, True, False]]返回一个视图,就无法使步幅有效。