我有一个数组:
arr = np.array([[1,2,3], [4,5,6], [7,8,9]])
如果我对数组进行切片 arr[:, :1]
我的结果是 array([[1],
[4], [7]])
.
如果我对数组 arr[:, 0]
进行切片,我的结果是 array([1, 4, 7])
。
为什么会有差异?
最佳答案
:1
是一个切片(长度恰好为 1),因此 numpy 为数组中的每一行(第一个暗淡)返回一个列表。这就是为什么你有一个二维数组作为结果:你要求一个带有 :
的子数组。
0
是一个索引,因此 numpy 将结果缩小 1 维,结果是值列表(更准确地说是 1 维数组)。
关于python - 切片 numpy 数组与选择单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50320790/