假设我有:test = numpy.array([[1, 2], [3, 4], [5, 6]])test[i]使我得到数组的第i行(例如[1, 2])。如何访问第ith列?(例如[1, 3, 5])。另外,这将是一项昂贵的操作吗?
3 回答
HUX布斯
TA贡献1876条经验 获得超6个赞
如果您想一次访问多个列,则可以执行以下操作:
>>> test = np.arange(9).reshape((3,3))
>>> test
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> test[:,[0,2]]
array([[0, 2],
[3, 5],
[6, 8]])
慕田峪7331174
TA贡献1828条经验 获得超13个赞
>>> test[:,0]
array([1, 3, 5])
该命令为您提供了行向量,如果您只想在其上循环,就可以了,但是如果您要与其他尺寸为3xN的数组进行堆叠,则可以
ValueError:所有输入数组的维数必须相同
而
>>> test[:,[0]]
array([[1],
[3],
[5]])
为您提供列向量,以便您可以进行串联或hstack操作。
例如
>>> np.hstack((test, test[:,[0]]))
array([[1, 2, 1],
[3, 4, 3],
[5, 6, 5]])
添加回答
举报
0/150
提交
取消