【发布时间】:2021-05-22 01:42:32
【问题描述】:
我有两个数据框:
df1 = pd.DataFrame({'player_id':[86508, 86509, 86508,86509 ],
'match_id': [243061,243061, 243062, 243062],
'line_up':[1,1,1,1]})
和:
df2 = pd.DataFrame({'player_id':[86508, 86509, 86508, 86509 ],
'match_id': [243061,243061, 243062, 243062]})
我需要将“line_up”值从df1 带到df2,基于“player_id”。我试过用map():
df2['line_up'] = df2['player_id'].map(df1.set_index('player_id')['line_up'])
但这会给我带来错误:
pandas.core.indexes.base.InvalidIndexError: Reindexing only valid with uniquely valued Index objects
还有其他简单的解决方法吗?
玩家 ID 会重复很多次,并且不能删除重复的 ID,因为每一轮 (match_id) 都很重要。
【问题讨论】:
-
可能删除重复项:
df2.player_id.map(df1.set_index("player_id").line_up.drop_duplicates())? -
很遗憾,无法完成。
-
您不能删除重复项?做不到是什么意思?
-
我没有明白你删除重复项的意思。我以为你的意思是删除有 player_id dup 的行