打印最后一列中具有x值的行

时间:2015-02-28 18:04:05

标签: python arrays numpy

我很擅长使用numpy,我有这个问题:

拥有这个数组:

x = np.array([[ 1,  2,  0],[ 4,  5,  0],[ 7,  8,  1],[10, 11, 1]])

>[[ 1  2  0]
 [ 4  5  0]
 [ 7  8  1]
 [10 11  1]]

如何在最后一列打印1行? 我想得到这样的东西:

>[[ 7  8  1]
 [10 11  1]]

2 个答案:

答案 0 :(得分:0)

获取最后一列上的数组切片并找到相等的数组1.根据结果布尔数组过滤主数组:

>>> x[:,-1]
array([0, 0, 1, 1])
>>> x[:,-1]==1
array([False, False,  True,  True], dtype=bool)
>>> x[x[:,-1]==1]
array([[ 7,  8,  1],
       [10, 11,  1]])

答案 1 :(得分:0)

请试试这个:

y = [ a for a in x if a[-1] == 1 ]
print y

干杯, 亚历