假设我有:
test = numpy.array([[1, 2], [3, 4], [5, 6]])
test[i]
获取数组的第 i行(例如[1, 2]
)。如何访问第i列?(例如[1, 3, 5]
)。另外,这会是一项昂贵的操作吗?
>>> test[:,0]
array([1, 3, 5])
相似地,
>>> test[1,:]
array([3, 4])
允许你访问行。这在NumPy 参考的第 1.4 节(索引)中有介绍。这很快,至少根据我的经验。这肯定比访问循环中的每个元素要快得多。
这会创建一个副本,是否可以获取引用,就像我获取对列的引用一样,此引用中的任何更改都会反映在原始数组中。
只是为了确保,考虑 test.shape=(2,x,y)。test[:,0 :, :, ] 是访问第一个“列”(坐标)的方式是否正确?
您将如何选择多列和多行?
@AAAlex123 - 见 Akavall 的回答[ stackoverflow.com/a/16121210/120261]
@mtrw,更准确地说,我指的是选择一系列列,而不是特定的列,例如第 1-5 列。阅读文档我发现这个语法
A[a:b, c:d]
选择行 a 到 b 和列 c 到 d。