如何从矩阵中选择行或列?

时间:2018-06-10 10:59:51

标签: python numpy numpy-slicing

这里我有一个矩阵a=np.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]])

我想选择所有行,但我想要选择的列是从第一行到第三行。

应为[[1,2,3],[6,7,8],[11,12,13]]

但是,我曾尝试过a[:,[0,2]],但它显示了

 array([[ 1,  3],
       [ 6,  8],
       [11, 13]]) 

这似乎不正确,所以我尝试了另一个[:] [0:2],它仍然是错误的结果。

所以我想问一下是否有任何功能或方法可以解决问题?

3 个答案:

答案 0 :(得分:1)

听起来像是在寻找a[:, 0:3]

In [4]: a[:, 0:3]
Out[4]:
array([[ 1,  2,  3],
       [ 6,  7,  8],
       [11, 12, 13]])

答案 1 :(得分:1)

我认为需要建立索引0:3

print (a[:,0:3])
[[ 1  2  3]
 [ 6  7  8]
 [11 12 13]]

答案 2 :(得分:1)

尝试以下

a=np.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]])
a = a[:,0:3] 
print(a)
#Output
#array([[ 1,  2,  3],
#   [ 6,  7,  8],
#   [11, 12, 13]])