我在熊猫中有以下数据帧:
Visitor Home Visitor_rtg Home_rtg
Sixers Celtics 83.4 100.7
Thunder Warriors 97.7 105.6
Bucks Hornets 110.2 109.2
Pelicans Sixers 88.1 89.2
Hornets Wizards 90.1 102.3
我想做的是保持每个团队的rtg滚动平均值,不管他们是家里人还是访客。例如,在第四行中,6人的主场是86.3
,因为(83.4+89.2) / 2
。黄蜂队的最后一排应该是99.65
,因为(109.2+90.1)/2
我已经找到了df.rolling()
,但我不知道如何得到这个,只计算每个队。排序也很重要,因为我想跟踪整个赛季的评级进展。你知道吗
预期产量:
Visitor Home Visitor_rtg Home_rtg
Sixers Celtics 83.4 100.7
Thunder Warriors 97.7 105.6
Bucks Hornets 110.2 109.2
Pelicans Sixers 88.1 *86.3
Hornets Wizards *99.65 102.3
stack
+concat
+groupby
+mean
IIUC,您可以^{} 您的数据帧,和^{} +^{} 值。不需要
rolling
输出
编辑答案
要获得所需的输出,可以使用
expanding
(不滚动)获得平均值,并使用transform
广播回每个原始行。最后,只需reshape
您的dataframe
的底层值即可获得最终输出不是特别令人愉快的解决方案:
您可以使用底层
reshape
数组上的numpy
来获得有效的解决方案。你知道吗步骤1
有相当多的重塑涉及,最后把数据放入一个
empty
numpy数组。你知道吗步骤2
现在我们已经格式化了数据,我们可以使用
expanding.mean
和更多的整形相关问题 更多 >
编程相关推荐