我正在尝试合并2个数据帧,但出于某种原因它正在抛出KeyError: Player_Id
我正在尝试合并Striker_Id
和Player_Id
这就是我的Dataframe的样子
合并代码:
player_runs.merge(matches_played_by_players,left_on='Striker_Id',right_on='Player_Id',how='left')
我做错了什么?
答案 0 :(得分:4)
player_runs.merge(matches_played_by_players,
left_index=True,
right_index=True,
how='left')
此外,请确保两个索引都属于相同类型(在这种情况下,请考虑 str
int
?)
player_runs.index = player_runs.index.astype(int)
和
matches_played_by_players.index = matches_played_by_players.index.astype(int)
答案 1 :(得分:2)
你基本上合并了现有的列。这是因为reset_index
创建了一个新的数据框,而不是更改它应用的数据框。使用reset_index时设置参数inplace=True
应解决此问题,或者合并每个数据帧的索引。即。
pd.merge(df1,df2,left_index=True,right_index=True,how='left')