假设我有一个 numpy 数组 x = [5, 2, 3, 1, 4, 5]
、 y = ['f', 'o', 'o', 'b', 'a', 'r']
。我想选择y
中大于1小于5的元素对应于x
中的元素。
我试过了
x = array([5, 2, 3, 1, 4, 5])
y = array(['f','o','o','b','a','r'])
output = y[x > 1 & x < 5] # desired output is ['o','o','a']
但这不起作用。我该怎么做?
最佳答案
如果添加括号,则表达式有效:
>>> y[(1 < x) & (x < 5)]
array(['o', 'o', 'a'],
dtype='|S1')
关于python - 如何在给定条件下选择数组的元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3030480/