我很擅长使用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]]
答案 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
干杯, 亚历