Numpy数组多条件布尔值

时间:2018-05-27 07:18:47

标签: python arrays python-3.x numpy boolean

我希望我的数组通过两个条件。如果我尝试只使用一个我没有任何问题,但如果我将代码两个条件python崩溃。这是我的代码:

std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

2 个答案:

答案 0 :(得分:1)

应该是np.logical_and(A_1 < cond1, A_1 > cond2)

如果您想检查所有元素是否满足,只需np.all(np.logical_and(A_1 < cond1, A_1 > cond2))

cond2 > A_1 < cond1无法正常工作,因为cond2 > A_1会返回一个bool数组。根据您的描述,不需要将布尔值与cond1进行比较。要明确,可以使用np.logical_and

答案 1 :(得分:1)

这是一个随机的例子:

import numpy as np

np.random.seed(123456)

array = np.array(np.random.randn(12))

print((array < 1) & (array > 0))

numpy你必须把条件放在括号中,然后使用&amp;操作员和条件。对于某个或某个条件,您使用|运算符然后遵循相同的格式。这将为您提供一组布尔值。