Python 如何使用矢量化对可被5整除的numpy数组中的每个元素求和?
我正在寻找一种矢量化方法,用于求可被5整除的numpy数组的所有元素的和 例如,如果我有Python 如何使用矢量化对可被5整除的numpy数组中的每个元素求和?,python,numpy,sum,modulus,Python,Numpy,Sum,Modulus,我正在寻找一种矢量化方法,用于求可被5整除的numpy数组的所有元素的和 例如,如果我有 test = np.array([1,5,12,15,20,22]) 我想返回40。我知道np.sum方法,但是有没有一种方法可以在给定X%5==0条件的情况下使用矢量化来实现这一点?我们可以使用布尔索引的匹配项来选择这些元素,然后简单地求和,就像这样- test[test%5==0].sum() 分步运行示例- # Input array In [48]: test Out[48]: array([
test = np.array([1,5,12,15,20,22])
我想返回40。我知道np.sum方法,但是有没有一种方法可以在给定X%5==0条件的情况下使用矢量化来实现这一点?我们可以使用布尔索引的匹配项来选择这些元素,然后简单地求和,就像这样-
test[test%5==0].sum()
分步运行示例-
# Input array
In [48]: test
Out[48]: array([ 1, 5, 12, 15, 20, 22])
# Mask of matches
In [49]: test%5==0
Out[49]: array([False, True, False, True, True, False], dtype=bool)
# Select matching elements off input
In [50]: test[test%5==0]
Out[50]: array([ 5, 15, 20])
# Finally sum those elements
In [51]: test[test%5==0].sum()
Out[51]: 40