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