Python 使用Pandas将groupby.sum()的结果映射到另一个数据帧?

Python 使用Pandas将groupby.sum()的结果映射到另一个数据帧?,python,pandas,Python,Pandas,我有两个数据帧-一个是包含所有交易(DF1)中购买的所有行项目的微观级别。将构建另一个数据框架,其目的是作为一个更高级别的聚合,汇总每笔交易产生的收入,基本上汇总每笔交易的所有行项目(DF2) 如何链接groupby.sum()的输出并将其分配给df2?收入列实质上是df1['transaction\u id']的收入聚合,我想将其链接到df2['transaction\u id'] 这是我目前尝试过的,但我正在努力拼凑 results = df1.groupby('transaction_id

我有两个数据帧-一个是包含所有交易(DF1)中购买的所有行项目的微观级别。将构建另一个数据框架,其目的是作为一个更高级别的聚合,汇总每笔交易产生的收入,基本上汇总每笔交易的所有行项目(DF2)

如何链接groupby.sum()的输出并将其分配给df2?收入列实质上是df1['transaction\u id']的收入聚合,我想将其链接到df2['transaction\u id']

这是我目前尝试过的,但我正在努力拼凑

results = df1.groupby('transaction_id')['amount'].sum()
df2['revenue'] = df2['transaction_id'].merge(results,how='left').value
使用:

输出

  transaction_id  location_id  customer_id  revenue
0    AJGDO-12304      2131234         1234      140
1    ODSKF-99130       213124         1345      200
使用地图:

lookup = df1.groupby(['transaction_id'])['amount'].sum()
df2['revenue'] = df2.transaction_id.map(lookup)

print(df2)
Output

  transaction_id  location_id  customer_id  revenue
0    AJGDO-12304      2131234         1234      140
1    ODSKF-99130       213124         1345      200

@格里格很高兴我能帮忙。如果我的回答对你有帮助,请考虑将它标记为接受。这将向其他人表明您的问题已经解决。
  transaction_id  location_id  customer_id  revenue
0    AJGDO-12304      2131234         1234      140
1    ODSKF-99130       213124         1345      200
lookup = df1.groupby(['transaction_id'])['amount'].sum()
df2['revenue'] = df2.transaction_id.map(lookup)

print(df2)
Output

  transaction_id  location_id  customer_id  revenue
0    AJGDO-12304      2131234         1234      140
1    ODSKF-99130       213124         1345      200