前回の記事が差分だったので次は変化率です。
ファイナンス系のデータをはじめとして変化量よりも変化率の方が着目される例は多々あります。
pandasのDataFrameにおいては、pct_changeというメソッドで算出することができます。
pandas.DataFrame.pct_change
とりあえず使ってみましょう。
import pandas as pd
df = pd.DataFrame(
{
'a': [1, 2, 3, 4, 5],
'b': [1, 4, 9, 16, 25],
'c': [1, 8, 27, 64, 125],
}
)
print(df.pct_change())
'''
a b c
0 NaN NaN NaN
1 1.000000 3.000000 7.000000
2 0.500000 1.250000 2.375000
3 0.333333 0.777778 1.370370
4 0.250000 0.562500 0.953125
'''
結果を見てわかる通り、1から4への変化は 4/1 = 4 と計算されるのではなく、 (4-1)/1 = 3 になります。
その点だけ注意です。