【发布时间】:2019-06-24 21:27:27
【问题描述】:
我有一个 CSV 文件,其中包含从 2010 年初到 2018 年的球员历史排名。排名每周都会刷新,因此一个文件中有 54 x 8 个排名。有日期,排名位置,玩家ID和积分等列。玩家 ID 是每个玩家的特定编号。我确实有第二个带有玩家 ID、玩家姓名、玩家姓氏的 csv。我想将第一个数据框中的玩家 ID 映射到第二个 csv 中玩家的姓名和姓氏。
我刚刚用<to_dict 创建了第二个csv 的字典> 我试图用<.map(dict1)> 和<from_dict> 映射它,但没有成功。
data_players = pd.read_csv(filepath, engine="python", sep=";",
keep_default_na=False)
data_rank = pd.read_csv(filepath2, engine="python", sep=",",
keep_default_na=False)
data_players = data_players.set_index('player_id')
dict1 = data_players.to_dict('index')
data_rank['player'] = pd.DataFrame.from_dict(dict1)
我的数据是这样的
ranking_date int64
rank int64
points object
player object
dtype: object
ranking_date rank points player
player
103819 20100104 1 10550 {'name_list': 'Federer'}
104745 20100104 2 9205 {'name_list': 'Nadal'}
104925 20100104 3 8310 {'name_list': 'Djokovic'}
104918 20100104 4 7030 {'name_list': 'Murray'}
105223 20100104 5 6785 {'name_list': 'Del Potro'}
我希望找到解决方案,我认为这很简单但我只是在学习python。
【问题讨论】:
标签: python-3.x pandas dataframe dictionary object