首页 > 解决方案 > 如何合并分组和聚合的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'

标签: pandas-groupby

解决方案


您需要在 df1 中保留帐号,因为没有它您无法加入。

如果您在最终的 df 中不需要它,您可以使用

df3 = df3.drop("AcctNr", axis=1)

推荐阅读