我尝试在类似的表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
谢谢
您需要的是合并,而不是联接(后者尝试在索引上合并):
相关问题 更多 >
编程相关推荐