首页 >后端开发 >Python教程 >如何在Python中高效计算累计和?

如何在Python中高效计算累计和?

Barbara Streisand
Barbara Streisand原创
2024-12-05 21:29:09950浏览

How Can I Efficiently Calculate Cumulative Sums in Python?

高效计算列表中的累积和

累积列表中连续元素的总和可以是数据分析或数值计算中的常见任务计算。例如,给定一个时间间隔列表 time_interval = [4, 6, 12],我们可能想要找到这些间隔的累积和,从而得到 t = [4, 10, 22]。

使用问题中所展示的手动方法虽然有效,但对于大型列表来说可能很麻烦。然而,使用 numpy 库可以提供更有效的解决方案:

import numpy as np

a = [4, 6, 12]

np.cumsum(a)
#array([ 4, 10, 22])

numpy 的 cumsum 函数比纯 Python 实现提供了显着的性能优势,尤其是对于大型列表。基准测试表明 numpy 的 cumsum 性能优于手动累加一个数量级:

timeit list(accumu(range(1000)))
10000 loops, best of 3: 161 us per loop

timeit list(accumu(xrange(1000)))
10000 loops, best of 3: 147 us per loop

timeit np.cumsum(np.arange(1000))
100000 loops, best of 3: 10.1 us per loop

因此,如果您经常使用数值数组,强烈建议使用 numpy 的 cumsum 函数,因为它的效率和易用性。

以上是如何在Python中高效计算累计和?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn