パンダで逆累積和を計算する方法


Cumsum()関数を使用すると、pandas DataFrame の列の値の累積合計を計算できます。

次の構文を使用して、列内の値の逆累積合計を計算できます。

 df[' cumsum_reverse '] = df. loc [:: -1 , ' my_column ']. cumsum ()[:: -1 ]

この特定の構文は、 my_columnというラベルの付いた列の値の逆累積合計を表示する、 cumsum_reverseという新しい列を pandas DataFrame に追加します。

次の例は、この構文を実際に使用する方法を示しています。

例: pandas で逆累積和を計算する

連続 10 日間の店舗の総売上高を示す次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   ' sales ': [3, 6, 0, 2, 4, 1, 0, 1, 4, 7]})

#view DataFrame
df

      day sales
0 1 3
1 2 6
2 3 0
3 4 2
4 5 4
5 6 1
6 7 0
7 8 1
8 9 4
9 10 7

次の構文を使用して、売上列の逆累計を計算できます。

 #add new column that shows reverse cumulative sum of sales
df[' cumsum_reverse_sales '] = df. loc [:: -1 , ' sales ']. cumsum ()[:: -1 ]

#view updated DataFrame
df

day sales cumsum_reverse_sales
0 1 3 28
1 2 6 25
2 3 0 19
3 4 2 19
4 5 4 17
5 6 1 13
6 7 0 12
7 8 1 12
8 9 4 11
9 10 7 7

Cumsum_reverse_salesというタイトルの新しい列には、最後の行からの累積売上が表示されます。

Cumsum_reverse_sales列の値を解釈する方法は次のとおりです。

  • 10 日目の売上の累計は7です。
  • 10 日目と 9 日目の売上の累計は11です。
  • 10 日目、9 日目、8 日目の売上の累計は12です。
  • 10 日目、9 日目、8 日目、7 日目の売上の累計は12です。

等々。

追加リソース

次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。

Pandas で特定の列を合計する方法
Pandas で GroupBy 合計を実行する方法
Pandas で条件に基づいて列を合計する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です