Python pandasで累積和、累積積を取得する方法 cumsum, cumprod, cummax, cummin

Pythonのpandasライブラリを使用して、データフレームの列に対して累積和、累積積、累積最大値、累積最小値を計算する方法を解説します。

Pythonのpandasライブラリで、データフレームの列の累積和、累積積、累積最大値、累積最小値を取得したいです。どうすれば良いですか?

cumsum、cumprod、cummax、cumminというpandasの関数を使うことで、それぞれの累積計算を行うことができます。cumsumは累積和、cumprodは累積積、cummaxは累積最大値、cumminは累積最小値を取得することができます。

目次

cumsum、cumprod、cummax、cumminとは

cumsum、cumprod、cummax、cumminは、pandasのデータフレームの列に対して累積和、累積積、累積最大値、累積最小値を計算するための関数です。

累積関数計算結果
cumsum列の累積和
cumprod列の累積積
cummax列の累積最大値
cummin列の累積最小値

cumsum、cumprod、cummax、cumminの使い方

cumsum、cumprod、cummax、cumminの使い方について説明します。

これらの関数は、pandasのデータフレームの列に対して直接適用することができます。以下は、cumsumを例としたコードです。

import pandas as pd

# データフレームを作成する
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# 列Aに対してcumsumを計算する
cumulative_sum = df['A'].cumsum()

# 結果を表示する
print(cumulative_sum)

このコードでは、データフレームdfの列Aに対してcumsumを計算し、変数cumulative_sumに格納しています。結果は、以下のように表示されます。

0    1
1    3
2    6
Name: A, dtype: int64

同様に、cumprod、cummax、cumminも、cumsumと同じように使用できます。以下にcumprodを例としたコードを示します。

import pandas as pd

# データフレームを作成する
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# 列Aに対してcumprodを計算する
cumulative_prod = df['A'].cumprod()

# 結果を表示する
print(cumulative_prod)

このコードでは、データフレームdfの列Aに対してcumprodを計算し、変数cumulative_prodに格納しています。結果は、以下のように表示されます。

0    1
1    2
2    6
Name: A, dtype: int64

同様に、cummax、cumminも以下のように計算できます。

# 列Aに対してcummaxを計算する
cumulative_max = df['A'].cummax()

# 列Bに対してcumminを計算する
cumulative_min = df['B'].cummin()

累積計算によって得られた結果は、データフレームの新しい列として追加することもできます。

# 新しい列として累積和を追加する
df['cumulative_sum'] = df['A'].cumsum()

# 新しい列として累積積を追加する
df['cumulative_prod'] = df['B'].cumprod()

# 新しい列として累積最大値を追加する
df['cumulative_max'] = df['A'].cummax()

# 新しい列として累積最小値を追加する
df['cumulative_min'] = df['B'].cummin()

# 結果を表示する
print(df)

このコードでは、データフレームに新しい列として累積和、累積積、累積最大値、累積最小値を追加しています。結果は、以下のように表示されます。

   A  B  cumulative_sum  cumulative_prod  cumulative_max  cumulative_min
0  1  4               1                4               1               4
1  2  5               3               20               2               4
2  3  6               6              120               3               4

以上のように、cumsum、cumprod、cummax、cumminは、データ分析において非常に便利な関数であり、データフレームの列に対して直接適用することができるだけでなく、新しい列として追加することもできます。

サンプルプログラムを使った解説

以下は、サンプルデータを使ったcumsum、cumprod、cummax、cumminの例です。

import pandas as pd

# データフレームを作成する
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})

# 列Aに対してcumsumを計算する
cumulative_sum = df['A'].cumsum()

# 列Bに対してcumprodを計算する
cumulative_prod = df['B'].cumprod()

# 列Aに対してcummaxを計算する
cumulative_max = df['A'].cummax()

# 列Bに対してcumminを計算する
cumulative_min = df['B'].cummin()

# 結果を表示する
print('cumulative_sum:', cumulative_sum)
print('cumulative_prod:', cumulative_prod)
print('cumulative_max:', cumulative_max)
print('cumulative_min:', cumulative_min)

このコードでは、データフレームdfの列Aに対してcumsum、cummax、cumminを計算し、列Bに対してcumprodを計算しています。結果は、以下のように表示されます。

cumulative_sum: 0    1
1    3
2    6
Name: A, dtype: int64
cumulative_prod: 0     4
1    20
2    120
Name: B, dtype: int64
cumulative_max: 0    1
1    2
2    3
Name: A, dtype: int64
cumulative_min: 0    4
1    4
2    4
Name: B, dtype: int64

このコードでは、データフレームの列に対してcumsum、cumprod、cummax、cumminを適用して、それぞれの計算結果を表示しています。

上記の例では、データフレームdfには、列Aに1, 2, 3、列Bに4, 5, 6の値が入っています。cumulative_sumでは、列Aの累積和を計算しています。cumulative_prodでは、列Bの累積積を計算しています。cumulative_maxでは、列Aの累積最大値を計算しています。cumulative_minでは、列Bの累積最小値を計算しています。

このように、pandasのcumsum、cumprod、cummax、cumminを使用することで、データフレームの列に対して簡単に累積計算を行うことができます。

リスキリングでキャリアアップしてみませんか?

リスキリング(学び直し)は、経済産業省が推奨しており、

今だけ、最大70%のキャッシュバックを受けることができます。

リスキリング 給付金が出るスクール紹介

最大70%の給付金が出るおすすめのプログラミングスクール!

国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!

興味のある方はすぐに確認しましょう。

まとめ

Pythonのpandasライブラリを使用して、データフレームの列に対して累積和、累積積、累積最大値、累積最小値を計算する方法を解説しました。

  • cumsum、cumprod、cummax、cumminは、pandasのデータフレームの列に対して累積和、累積積、累積最大値、累積最小値を計算するための関数である。
  • これらの関数は、データフレームの列に対して直接適用することができる。

cumsum、cumprod、cummax、cumminは、とても便利な関数だと思います。今後のデータ分析で活用していきたいと思います。

データフレームの列に対して累積計算を行う際には、cumsum、cumprod、cummax、cumminを適切に使用することで、簡単かつ正確に計算を行うことができます。また、累積計算の結果を可視化することで、データの傾向をより深く理解することができます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次