gpt4 book ai didi

python - 如何使用矢量化对可被 5 整除的 numpy 数组中的每个元素求和?

转载 作者:太空宇宙 更新时间:2023-11-03 13:32:23 25 4
gpt4 key购买 nike

我正在寻找一种矢量化方法,用于对可被 5 整除的 numpy 数组的所有元素求和。

例如,如果我有

test = np.array([1,5,12,15,20,22])

我想返回 40。我知道 np.sum 方法,但是有没有办法在 X%5 == 0 条件下使用矢量化来做到这一点?

最佳答案

我们可以使用 mask boolean-indexing 的匹配项以选择这些元素,然后简单地对这些元素求和,就像这样 -

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

关于python - 如何使用矢量化对可被 5 整除的 numpy 数组中的每个元素求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45039438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com