假設我有: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
提交
取消