我有以下数据数组
In [56]:data
Out[56]:
array([[ 4360., 6178.],
[ 10906., 14956.],
[ 5071., 8963.],
...,
[ 16019., 12300.],
[ 12306., 3327.],
[ 13663., 12641.]])
我希望在a
中存储其第零个元素小于某个值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()
这样做有效吗?感谢。
答案 0 :(得分:4)
以下应该这样做:
d[(d[0::,0] > 8000) & (d[0::,0] < 9057), 0::]
顺便说一句,您可以将所有0::
替换为:
:
d[(d[:,0] > 8000) & (d[:,0] < 9057)]
我发现眼睛看起来更容易了。