ホームページ > バックエンド開発 > Python チュートリアル > Python で数値リストの累積合計を効率的に計算するにはどうすればよいですか?

Python で数値リストの累積合計を効率的に計算するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-10 11:39:14
オリジナル
587 人が閲覧しました

How Can I Efficiently Calculate the Cumulative Sum of a List of Numbers in Python?

リスト内の数値の累積和を求める

問題:
数値のリストが与えられた場合、累積和を求めたいとします。 sum は、リストの先頭から数値を 1 つずつ合計することを意味します。たとえば、リスト [4, 6, 12] がある場合、[4, 4 6, 4 6 12] を取得すると、結果は [4, 10, 22] になります。

答え:

配列の数値演算については、強力な Python ライブラリである NumPy を検討することをお勧めします。便利な累積合計関数cumsum:

import numpy as np

a = [4,6,12]

np.cumsum(a)
#array([4, 10, 22])
ログイン後にコピー

NumPyは、多くの場合、そのようなタスクでは純粋なPythonよりも優れたパフォーマンスを発揮します。ここでは、別の関数 accumu との比較を示します。

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

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

In [138]: timeit np.cumsum(np.arange(1000))
100000 loops, best of 3: 10.1 us per loop
ログイン後にコピー

NumPy には速度の利点がありますが、NumPy が単一のタスクにのみ必要な場合は、依存関係が必要ない可能性があることを覚えておくことが重要です。

以上がPython で数値リストの累積合計を効率的に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート