我有一个类似于:
的numpy数组a = np.array([1,1,1],
[1,1,1],
[2,1,1],
[2,3,1],
[2,3,1],
[2,3,1],
[3,4,1],
[3,4,1],
[3,4,1],
])
并想提取行
a[0,:] >=2 and a[1,:] < 4
进入b,导致:
b = np.array([2,1,1],
[2,3,1],
[2,3,1],
[2,3,1],
])
我试过
b = a[(a[0,:] >=2) & (a[1,:] < 4 )]
和
b = a[np.where((a[0,:] >=2) & (a[1,:] < 4 ))]
但这不起作用。有什么想法吗?
谢谢! 乔治
答案 0 :(得分:4)
您的情况是使用a
的第一行和第二行,而不是第一列和第二列。 a[:, n]
选择第n列,因此您需要
b = a[(a[:, 0] >= 2) & (a[:, 1] < 4)]
答案 1 :(得分:0)
我不知道如何一步完成,但你可以做到
b = a[a[:,0]>=2]
c = b[b[:,1]<4]
print c