我想了解一下下面的符号之间的区别。
print(np.min(xx[:,9]))
print(np.min(xx[:][9]))0.015971377798342325
-0.7342680230504756为什么结果会有所不同?
发布于 2019-11-20 14:15:26
它们是完全不同的。考虑这个例子:
>>> arr = numpy.array([[1,2,3],[1,2,3],[1,2,3]])
>>> arr[:,1]
array([2,2,2])在这里你在2个维度中切片,你选择了所有三行中的第二列。为了便于参考,我们将其称为组合切片。
在第二种情况下:
>>> arr = numpy.array([[1,2,3],[1,2,3],[1,2,3]])
>>> arr[:][1]
array([1,2,3])在这个例子中,两个切片没有合并,它只是意味着执行第一个切片操作,然后对第一个切片的结果执行第二个切片操作。这里的切片操作是而不是组合的。因此,这里首先执行的是arr[:]。[:]什么也不做,它像从第一个到最后一个切片,所以结果是相同的数组。第二个[1]被执行,所以这就像是根据它的索引抓取第二行。
希望你明白其中的区别。
为什么结果不同??在第一种情况下,打印所有行中最少的第9列。在第二种情况下,您打印的是第9行本身的最小值,为什么?请参见上面的解释。
https://stackoverflow.com/questions/58947482
复制相似问题