pandas-groupby - 如何合并分组和聚合的df?
问题描述
我已经对每个帐号的交易进行了分组和汇总(以计算每月统计数据),现在我想将输出与帐号上的另一个数据框合并。但是,帐号不再在索引/列中。
每个帐户和每个月的交易分组并执行汇总计算
df1 = df.groupby(['AcctNr','Month']).sum().groupby(level=0).agg({'Amount': 'mean', 'median', max, 'std', percentile(75), iqr]})
df1.columns = ["_".join(x) for x in df1.columns.ravel()]
这导致以下结果
df1.columns:
Index(['Amount_mean', 'Amount_median', 'Amount_max', 'Amount_std',
'Amount_percentile_75', 'Amount_iqr', 'UpperBP'],
dtype='object')
当我尝试与 AcctNr 上的另一个 DF 合并时,我得到:
df3 = df1.merge(df2, on='AcctNr')
KeyError: 'AcctNr'
解决方案
您需要在 df1 中保留帐号,因为没有它您无法加入。
如果您在最终的 df 中不需要它,您可以使用
df3 = df3.drop("AcctNr", axis=1)
推荐阅读
- python - 带有传递变量的 OCC gp_Pnt
- php - Laravel 雄辩的关系和数据透视表
- python - 在 / 处获取 TemplateDoesNotExist
- json - 在 Postman 中发送多个文件 - NodeJS
- reactjs - 在 webpack 4 弹出的反应应用程序中添加较少的配置时出错
- visual-studio - 如何在 Live 网站上启用 Asp.Net.Code“开发模式”
- flutter - 如何注意用户何时从滚动中释放了他/她的手指
- python-3.x - 'TypeError: 'CompositeModel' object is not callable' 尝试拟合复合模型时
- flutter - 有没有办法将用户锁定在应用程序内,除非输入密码,否则无法访问主屏幕
- java - java中String[]数据和String...数据有什么区别