パンダで変化率を計算する方法
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 で移動平均を計算する方法
パンダでスライド相関を計算する方法