考虑到:
test = numpy.array([[1, 2], [3, 4], [5, 6]])
Test [i]给出第i行(例如[1,2])。如何访问第I列?(例如[1,3,5])。还有,这手术会很贵吗?
考虑到:
test = numpy.array([[1, 2], [3, 4], [5, 6]])
Test [i]给出第i行(例如[1,2])。如何访问第I列?(例如[1,3,5])。还有,这手术会很贵吗?
当前回答
你也可以转置并返回一行:
In [4]: test.T[0]
Out[4]: array([1, 3, 5])
其他回答
>>> test
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
>>> ncol = test.shape[1]
>>> ncol
5L
然后你可以这样选择第2 - 4列:
>>> test[0:, 1:(ncol - 1)]
array([[1, 2, 3],
[6, 7, 8]])
>>> test[:,0]
array([1, 3, 5])
这个命令给了你一个行向量,如果你只是想循环遍历它,这是可以的,但如果你想hstack其他一些维度为3xN的数组,你会有
ValueError:所有输入数组的维数必须相同
而
>>> test[:,[0]]
array([[1],
[3],
[5]])
给你一个列向量,这样你就可以做连接或hstack操作。
e.g.
>>> np.hstack((test, test[:,[0]]))
array([[1, 2, 1],
[3, 4, 3],
[5, 6, 5]])
你也可以转置并返回一行:
In [4]: test.T[0]
Out[4]: array([1, 3, 5])
这不是多维的。它是二维数组。您想要访问所需列的位置。
test = numpy.array([[1, 2], [3, 4], [5, 6]])
test[:, a:b] # you can provide index in place of a and b
要获得几个独立的列,只需:
> test[:,[0,2]]
你会得到第0列和第2列