如何在每次出现两个键时在我的df2中填充来自我的df1的值-python dataframe

如何在每次出现两个键时在我的df2中填充来自我的df1的值-python dataframe,python,pandas,join,Python,Pandas,Join,我尝试在类似的表df1和df2之间进行左联接,如下所示: 表df2: Year Team Elo 1975 ANA 1483.527161 1975 BOS 1528.148559 1976 ARI 1499.237268 1976 LAD 1533.241241 1977 ATL 1490.446315 1978 BAL 1533.906786 1979 BOS 1528.148559

我尝试在类似的表
df1
df2
之间进行左联接,如下所示:

表df2:

Year    Team    Elo
1975    ANA     1483.527161
1975    BOS     1528.148559
1976    ARI     1499.237268
1976    LAD     1533.241241
1977    ATL     1490.446315
1978    BAL     1533.906786
1979    BOS     1528.148559
1980    CHC     1473.185062
1981    CHW     1494.119
1981    PIT     1507.463466
“我的实际表格与此示例之间的一个区别是,我的原始
df2
表格包含大约40个不同年份,每年包含大约20个不同的团队。我的意思是,每年,每个团队都有不同的Elo值。”

这张表
df1

Game_ID         Team    Value 1     Value2      Year
HOU197504070    ANA     HOU         ATL         1975
HOU197504080    LAD     LAD         ATL         1975
HOU197504070    BOS     ATL         CHW         1975
HOU197504080    CHC     HOU         ATL         1975
我尝试使用的代码是:

df1= df1.join(df2, on=['Year','Team'])
但是,我遇到了以下错误:

ValueError: len(left_on) must equal the number of levels in the index of "right"
我的预期产出是

    Game_ID         Team    Value 1     Value2      Year    Elo
    HOU197504070    ANA     HOU         ATL         1975    1483.527161
    HOU197504080    LAD     LAD         ATL         1975    0
    HOU197504070    BOS     ATL         CHW         1975    1528.148559
    HOU197504080    CHC     HOU         ATL         1975    0

谢谢。

您需要的是合并,而不是加入(后者尝试在索引上合并):


是的,成功了。我可以知道什么是btw合并(左)和加入(左)的区别吗。谢谢。我在回答中解释了。
df1.merge(df2, on=['Year', 'Team'], how='left').fillna(0)