我对 numpy 数组相当陌生,在将一个数组与另一个数组进行比较时遇到了问题。
我有两个数组,这样:
a = np.array([1,2,3,4,5])
b = np.array([2,4,3,5,2])
我想做如下的事情:
if b > a:
c = b
else:
c = a
所以我最终得到一个数组 c = np.array([2,4,3,5,5])。
这也可以被认为是为两个数组的每个元素取最大值。
但是,我遇到了错误
ValueError: The truth value of an array with more than one element is ambiguous.
Use a.any() or a.all().
我尝试过使用这些,但我不确定它们是否适合我想要的。
有人能提供一些解决这个问题的建议吗?
最佳答案
您正在寻找函数 np.fmax
。它采用两个数组的元素最大值,忽略 NaN。
import numpy as np
a = np.array([1, 2, 3, 4, 5])
b = np.array([2, 4, 3, 5, 2])
c = np.fmax(a, b)
输出是
array([2, 4, 3, 5, 5])
关于python - 将两个 numpy 数组中的值与 'if' 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25760183/