我有以下一组数据
In [56]:data
Out[56]:
array([[ 4360., 6178.],
[ 10906., 14956.],
[ 5071., 8963.],
...,
[ 16019., 12300.],
[ 12306., 3327.],
[ 13663., 12641.]])
我想在
a
中存储第0个元素小于某个值value1
且高于其他值value2
的所有行。我试过了
d[ 9057 > d[0::,0] > 8000, 0::]
和
d[d[0::,0] > 8000 and d[0::,0] < 9057, 0::]
但这两个都因以下错误而停止
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
有没有一种有效的方法来做这件事?谢谢。
最佳答案
应采取以下措施:
d[(d[0::,0] > 8000) & (d[0::,0] < 9057), 0::]
顺便说一下,您可以用
0::
替换所有那些:
:d[(d[:,0] > 8000) & (d[:,0] < 9057)]
我觉得这在眼睛上容易一点。
关于python - 在Numpy数组中获取满足多个条件的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14506505/