【发布时间】:2015-06-28 23:28:15
【问题描述】:
我正在尝试创建一个新列,该列返回同一 df 中现有列的值的平均值。但是,应根据其他三列中的分组来计算平均值。
Out[184]:
YEAR daytype hourtype scenario option_value
0 2015 SAT of_h 0 0.134499
1 2015 SUN of_h 1 63.019250
2 2015 WD of_h 2 52.113516
3 2015 WD pk_h 3 43.126513
4 2015 SAT of_h 4 56.431392
当“YEAR”、“daytype”和“hourtype”相似时,我基本上希望有一个新列“mean”来计算“option value”的平均值。
我尝试了以下方法但没有成功...
In [185]: o2['premium']=o2.groupby(['YEAR', 'daytype', 'hourtype'])['option_cf'].mean()
TypeError: incompatible index of inserted column with frame index
【问题讨论】:
-
您正在调用
['option_cf'],但您的数据框有['option_value']。 -
因此,对于 2015-SAT-of_h 行,您是希望它们折叠成一个新行,还是希望两行仍然存在但有一个“高级”列(相同) 那里的平均值?
-
确实两行仍然存在,但具有相同平均值的“溢价”列..但这就是下面的建议!
标签: python pandas conditional mean