按长期平均值计算月变化 Pandas
Calculate Monthly Variability by Long-Term Average Pandas
我在数据框“YM”中有这样的数据,显示 2019 年第 8-12 个月的值:
year month adjusted_power
343 2019 08 20754.20750
344 2019 09 20305.95125
345 2019 10 18428.88125
346 2019 11 27864.02500
347 2019 12 25405.17500
而且,我在名为“YMmonthmean”的数据框中有月平均值,看起来像这样 -
month adjusted_power_AVERAGE
7 08 26161.086034
8 09 20707.108319
9 10 25684.728190
10 11 29468.227759
11 12 29509.313319
我正在尝试使用 adjusted_power_AVERAGE 列计算每个“年”值的可变性,以便结果看起来像这样 -
我已经尝试了下面这个的变体,但有不同的错误。变量 YM 和 YMmonthmean 都是数据帧。感谢您的协助。
#NEED VARIABILITY BY MONTH AND YEAR
df_final = (YM.div(YMmonthmean.loc[1], axis=1) - 1)
最近的错误:
类型错误:/ 的操作数类型不受支持:'str' 和 'str'
我建议先合并两个数据框
YM = pd.DataFrame({'year': [2019, 2019, 2019, 2019, 2019],
'month': ['08', '09', '10', '11', '12'],
'adjusted_power':[20754.20750, 20305.95125, 18428.88125, 27864.02500, 25405.17500],
})
YMmonthmean = pd.DataFrame({'month': ['08', '09', '10', '11', '12'],
'adjusted_power_AVERAGE':[26161.086034, 20707.108319, 25684.728190, 29468.227759, 29509.313319],
})
YM = YM.merge(YMmonthmean, on = 'month', how='left')
YM['var'] = YM['adjusted_power']/ YM['adjusted_power_AVERAGE'] -1
结果
year month adjusted_power adjusted_power_AVERAGE var
0 2019 08 20754.20750 26161.086034 -0.206676
1 2019 09 20305.95125 20707.108319 -0.019373
2 2019 10 18428.88125 25684.728190 -0.282497
3 2019 11 27864.02500 29468.227759 -0.054438
4 2019 12. 25405.17500 29509.313319 -0.139079
如果您不想在其中添加额外的列,您可以在之后删除它们
我在数据框“YM”中有这样的数据,显示 2019 年第 8-12 个月的值:
year month adjusted_power
343 2019 08 20754.20750
344 2019 09 20305.95125
345 2019 10 18428.88125
346 2019 11 27864.02500
347 2019 12 25405.17500
而且,我在名为“YMmonthmean”的数据框中有月平均值,看起来像这样 -
month adjusted_power_AVERAGE
7 08 26161.086034
8 09 20707.108319
9 10 25684.728190
10 11 29468.227759
11 12 29509.313319
我正在尝试使用 adjusted_power_AVERAGE 列计算每个“年”值的可变性,以便结果看起来像这样 -
我已经尝试了下面这个的变体,但有不同的错误。变量 YM 和 YMmonthmean 都是数据帧。感谢您的协助。
#NEED VARIABILITY BY MONTH AND YEAR
df_final = (YM.div(YMmonthmean.loc[1], axis=1) - 1)
最近的错误: 类型错误:/ 的操作数类型不受支持:'str' 和 'str'
我建议先合并两个数据框
YM = pd.DataFrame({'year': [2019, 2019, 2019, 2019, 2019],
'month': ['08', '09', '10', '11', '12'],
'adjusted_power':[20754.20750, 20305.95125, 18428.88125, 27864.02500, 25405.17500],
})
YMmonthmean = pd.DataFrame({'month': ['08', '09', '10', '11', '12'],
'adjusted_power_AVERAGE':[26161.086034, 20707.108319, 25684.728190, 29468.227759, 29509.313319],
})
YM = YM.merge(YMmonthmean, on = 'month', how='left')
YM['var'] = YM['adjusted_power']/ YM['adjusted_power_AVERAGE'] -1
结果
year month adjusted_power adjusted_power_AVERAGE var
0 2019 08 20754.20750 26161.086034 -0.206676
1 2019 09 20305.95125 20707.108319 -0.019373
2 2019 10 18428.88125 25684.728190 -0.282497
3 2019 11 27864.02500 29468.227759 -0.054438
4 2019 12. 25405.17500 29509.313319 -0.139079
如果您不想在其中添加额外的列,您可以在之后删除它们