随着Pandas 0.20.1的发布,对于groupby.agg()的功能有了新的弃用,并带有用于重命名的字典.
我正在尝试找到更新代码的最佳方法来解决这个问题,但是我正在努力解决我目前如何使用这种重命名功能.
当我进行聚合时,我经常为每个源列提供多个函数,并且我一直在使用此重命名功能来获取具有这些新列名的单个级别索引.
例:
df = pd.DataFrame({'A': [1, 1, 1, 2, 2],'B': range(5),'C': range(5)})
In [30]: df
Out[30]:
A B C
0 1 0 0
1 1 1 1
2 1 2 2
3 2 3 3
4 2 4 4
frame = df.groupby('A').agg({'B' : {'foo':'sum'}, 'C': {'bar' : 'min', 'bar2': 'max'}})
Run Code Online (Sandbox Code Playgroud)
结果如下:
Out[33]:
B C
foo bar bar2
A
1 3 0 2
2 7 3 4
Run Code Online (Sandbox Code Playgroud)
我通常会这样做:
frame = pd.DataFrame(frame).reset_index(col_level=1)
frame.columns = frame.columns.get_level_values(1)
frame
Out[42]:
A …Run Code Online (Sandbox Code Playgroud)