我之前曾经提出过这个问题:python pandas: applying different aggregate functions to different columns 但是最新的Pandas改变https://github.com/pandas-dev/pandas/pull/15931 表明我认为优雅且符合Python风格的解决方案已经被弃用了,原因我真心理解不了。
问题是:在进行groupby时,如何以一种可能符合Python风格且不太繁琐的方式,同时对不同字段应用不同的聚合函数(例如x的总和,x的平均值,y的最小值,z的最大值等),并重命名结果字段?即sum_x无法满足我的要求,我需要显式地重命名字段。
我喜欢的这种方法:
df.groupby('qtr').agg({"realgdp": {"mean_gdp": "mean", "std_gdp": "std"},
"unemp": {"mean_unemp": "mean"}})
即将被淘汰,现在会产生以下警告:
FutureWarning: using a dict with renaming is deprecated and will be removed in a future version
谢谢!