Jam*_*mes 1 python numpy
我不明白下面的行为.numpy数组通常可以通过索引来访问,所以[:,1]应该等同于[:] [1],或者我认为.有人可以解释为什么不是这样吗?
>>> a = np.array([[1, 2, 3], [4, 5, 6]]) >>> a[:,1] array([2, 5]) >>> a[:][1] array([4, 5, 6])
谢谢!
Bre*_*arn 5
这两种形式的索引不一样.你应该使用[i, j]而不是[i][j].即使两者都工作,第一个会更快(见这个问题).
[i, j]
[i][j]
使用两个索引[i][j]是两个操作.它执行第一个索引,然后在第一个操作的结果上执行第二个索引. [:]只返回整个数组,所以你的第一个相当于array[1].由于只传递了一个索引,因此假定它引用第一个维度(行),因此这意味着"获取行1".使用一个复合索引[i, j]是一次使用两个索引条件的单个操作,因此array[:, 1]返回"所有行,列1".
[:]
array[1]
array[:, 1]
归档时间:
13 年,2 月 前
查看次数:
74 次
最近记录: