パンダで変化率を計算する方法


pct_change()関数を使用して、パンダの値間の変化の割合を計算できます。

 #calculate percent change between values in pandas Series
s. pct_change ()

#calculate percent change between rows in pandas DataFrame
df[' column_name ']. pct_change ()

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

例 1: pandas シリーズの変化率

次のコードは、pandas シリーズの値間の変化率を計算する方法を示しています。

 import pandas as pd

#create pandas Series
s = pd. Series ([6, 14, 12, 18, 19])

#calculate percent change between consecutive values
s. pct_change () 

0 NaN
1 1.333333
2 -0.142857
3 0.500000
4 0.055556
dtype:float64

これらの値の計算方法は次のとおりです。

  • インデックス 1: (14 – 6) / 6 = 1.333333
  • インデックス 2: (12 – 14) / 14 = -.142857
  • 指数 3: (18 – 12) / 12 = 0.5
  • インデックス 4: (19 – 18) / 18 = 0.055556

period引数を使用して、異なる間隔での値間の変化率を計算することもできることに注意してください。

 import pandas as pd

#create pandas Series
s = pd. Series ([6, 14, 12, 18, 19])

#calculate percent change between values 2 positions apart
s. pct_change (periods= 2 ) 

0 NaN
1 NaN
2 1.000000
3 0.285714
4 0.583333
dtype:float64

これらの値の計算方法は次のとおりです。

  • インデックス 2: (12 – 6) / 6 = 1.000000
  • インデックス 3: (18 – 14) / 14 = 0.285714
  • インデックス 4: (19 – 12) / 12 = .583333

例 2: pandas DataFrame の変化率

次のコードは、pandas DataFrame の連続する行間の変化の割合を計算する方法を示しています。

 import pandas as pd

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

#view DataFrame
df

        period sales
0 1 6
1 2 7
2 3 7
3 4 9
4 5 12

#calculate percent change between consecutive values in 'sales' column
df[' sales_pct_change '] = df[' sales ']. pct_change ()

#view updated DataFrame
df

	period sales sales_pct_change
0 1 6 NaN
1 2 7 0.166667
2 3 7 0.000000
3 4 9 0.285714
4 5 12 0.333333

これらの値の計算方法は次のとおりです。

  • インデックス 1: (7 – 6) / 6 = .166667
  • インデックス 2: (7 – 7) / 7 = 0.000000
  • インデックス 3: (9 – 7) / 7 = .285714
  • インデックス 4: (12 – 9) / 9 = .333333

pct_change()関数の完全なドキュメントはここで見つけることができます。

追加リソース

Pandas で列の平均を計算する方法
パンダで中央値を計算する方法
Pandas で移動平均を計算する方法
パンダでスライド相関を計算する方法

コメントを追加する

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