首页 > 解决方案 > Python - 具有相同结构的 2 个 df 在第三个数据帧中相加

问题描述

我只是在处理一些足球数据,我基本上想在几列上添加 2 个数据框。

这是我所拥有的:

import pandas as pd

d1 = {'PlayerID': [1, 2], 'Name': ['Tyreek', 'Amari'], 'Targets': [15, 16], 'Receptions': [11, 13]}
df1 = pd.DataFrame(data=d1)

d2 = {'PlayerID': [1, 2], 'Name': ['Tyreek', 'Amari'], 'Targets': [4, 5], 'Receptions': [3,3]}
df2 = pd.DataFrame(data=d2)

desired output
[PlayerID|Name|Targets|Receptions]
[    1   |Tyreek|  19 | 14]
[    2   |Amari |  21 | 16]

两个数据框具有相同的列,但来自季节的不同周。我试过 merge/concat/add 但这只是分别增加了几周。我想创建一个仅添加最近一周的季节日期数据框。例如,Tyreek Hill 在第一周有 15 个目标,在第 2 周有 4 个目标,因此本赛季迄今为止的数据框应该显示 19 个目标。

标签: pythonpandasdataframe

解决方案


尝试:

df1.set_index(['PlayerID', 'Name']).add(df2.set_index(['PlayerID', 'Name'])).reset_index()

输出:

   PlayerID    Name  Targets  Receptions
0         1  Tyreek       19          14
1         2   Amari       21          16

推荐阅读