1991 年から 2021 年までの月次データの長期平均から変動性を見つける必要があります。204,3 サイズの次のようなデータがあります。
dfavgs =
plant_name month power_kwh
0 ARIZONA I 1 10655.989885
1 ARIZONA I 2 9789.542672
2 ARIZONA I 3 7889.403154
3 ARIZONA I 4 7965.595843
4 ARIZONA I 5 9299.316756
.. ... ... ...
199 SANTANA II 8 16753.999870
200 SANTANA II 9 17767.383616
201 SANTANA II 10 17430.005363
202 SANTANA II 11 16628.784139
203 SANTANA II 12 15167.085560
私の大きな月ごとの年ごとの df は、サイズ 6137,4 で次のようになります。
dfmonthlys:
plant_name year month power_kwh
0 ARIZONA I 1991 1 9256.304704
1 ARIZONA I 1991 2 8851.689732
2 ARIZONA I 1991 3 7649.949328
3 ARIZONA I 1991 4 6728.544028
4 ARIZONA I 1991 5 8601.165457
... ... ... ...
6132 SANTANA II 2020 9 16481.202361
6133 SANTANA II 2020 10 15644.358737
6134 SANTANA II 2020 11 14368.804306
6135 SANTANA II 2020 12 15473.958468
6136 SANTANA II 2021 1 13161.219086
私の新しい df "dfvar" は、年ごとの長期平均からの月ごとの偏差を示す次のようになります。以下の値は正しくないと思います。
plant_name year month Var
0 ARIZONA I 1991 1 -0.250259
1 ARIZONA I 1991 2 -0.283032
2 ARIZONA I 1991 3 -0.380370
3 ARIZONA I 1991 4 -0.455002
4 ARIZONA I 1991 5 -0.303324
MATLABでこれを簡単に行うことができましたが、学ぶ必要があるパンダを使用してこれを行う方法がわかりません。どうもありがとうございました。以下でこれを試してみましたが、シリーズが得られましたが、最後の行に予期しない NaN があるようです:
t = dfmonthlys['power_kwh']/dfavgs.loc[:,'power_kwh'] - 1
上記の出力は次のようになります。
t
Out[159]:
0 -0.131352
1 -0.095802
2 -0.030351
3 -0.155299
4 -0.075076
6132 NaN
6133 NaN
6134 NaN
6135 NaN
6136 NaN
Name: power_kwh, Length: 6137, dtype: float64