我试图创建一个新列,它返回同一df中现有列的值的平均值。但是,平均值应根据另外三列中的分组进行计算。熊猫dataframe条件.mean()取决于某些列中的值
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
我基本上是想有一个新列“平均”的计算“期权价值”的意思是,当“年”,“daytype”和“hourtype”是类似的。
我尝试以下方法,但都没有成功...
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']'。 – ASGM
因此对于2015-SAT-of_h行,是否希望将它们折叠为一个新行,还是希望这两行仍然存在,但是具有(相同)平均值的“高级”列? – DSM
事实上,两行仍然存在,但是具有相同平均值的“高级”列......但这就是下面提出的! – tpapz