根据numpy数组中的条件应用公式
Applying formula based on condition in numpy array
我有 numpy 数组:
wk = np.array([1, 0, 3, -4])
如何根据特定条件应用公式,例如如何对 wk
中的所有正值求和。我试过了
if wk.all > 0:
np.sum(wk)
但是它抛出了一个错误。
np.sum(wk[wk > 0])
就是您要找的。 wk > 0
创建一个与 wk
大小相同的布尔数组,在 wk > 0
的任何地方都为真。 wk[wk > 0]
然后评估为一个数组,该数组仅包含 wk
的那些元素,其中前一个数组为真,最后 np.sum
总结这些值。
对于可以使用的正值:
import numpy as np
wk = np.array([1, 0, 3, -4])
sum = wk[wk>0].sum() # returns array of elements which are positive and then adds them
类似地,您可以将条件放入 wk[condition_here]
我有 numpy 数组:
wk = np.array([1, 0, 3, -4])
如何根据特定条件应用公式,例如如何对 wk
中的所有正值求和。我试过了
if wk.all > 0:
np.sum(wk)
但是它抛出了一个错误。
np.sum(wk[wk > 0])
就是您要找的。 wk > 0
创建一个与 wk
大小相同的布尔数组,在 wk > 0
的任何地方都为真。 wk[wk > 0]
然后评估为一个数组,该数组仅包含 wk
的那些元素,其中前一个数组为真,最后 np.sum
总结这些值。
对于可以使用的正值:
import numpy as np
wk = np.array([1, 0, 3, -4])
sum = wk[wk>0].sum() # returns array of elements which are positive and then adds them
类似地,您可以将条件放入 wk[condition_here]