我试图以某种奇怪的方式加入2个数据帧,并且想知道是否有人有任何建议。
我的第一个数据框如下所示,称之为df1
:
第二个看起来,称之为df2
:
我希望我的最终输出能够合并游戏数据框中各自名称旁边的每个团队的统计数据。我想到这样做的一种强制方式是将TEAM
中df1
列的名称更改为Home
,然后加入其中。然后,将TEAM
列更改为Visitor
并加入其中,但我觉得它们应该更简单。谁能给我这方面的建议,谢谢!
答案 0 :(得分:0)
您可以使用left_on
中的right_on
和pd.merge
参数。
df1 = pd.DataFrame({'col1' : ['a','b','c','d','e','b'], 'val2': [31,43,23,54,65,23]})
df2 = pd.DataFrame({'col2': ['a','b','c'], 'val1': [11,22,33]})
df3 = pd.merge(df1, df2, left_on='col1', right_on='col2', how='left')
print(df3)
col1 val2 col2 val1
0 a 31 a 11.0
1 b 43 b 22.0
2 c 23 c 33.0
3 d 54 NaN NaN
4 e 65 NaN NaN
5 b 23 b 22.0