我已经在字典dictPrices
中存储了4个ndarray,并希望为这两种情况中的每一种生成另一个布尔ndarray:
(1)元素方面,如果4个ndarray中的任何一个中的数字超过x
(2)元素方面,如果所有4个ndarray中的数字超过x
dictPrices[1] >= x
有效,但当我尝试(dictPrices[1] >= x | dictPrices[2] >= x)
时,它失败了。 (dictPrices[1] >= x or dictPrices[2] >= x)
也失败了。
由于ndarrays可能很大(来自蒙特卡罗),我希望进行矢量化而不是循环遍历每个ndarray元素。
谢谢!
答案 0 :(得分:2)
我想你想要这个:
np.logical_or.reduce([prices >= x for prices in dictPrices.values()])
这里有一些详细解释:Numpy `logical_or` for more than two arguments
当然,对于第二种情况,您可以使用logical_and
代替logical_or
。