Сопоставление столбца DataFrame с другим DataFrame - PullRequest
0 голосов
/ 25 июня 2019

У меня есть CSV-файл с рейтингами игроков с начала 2010 года до 2018 года. Рейтинг обновляется каждую неделю, поэтому в одном файле находятся 54 х 8 рейтингов.Есть столбцы, такие как дата, позиция в рейтинге, идентификатор игрока и очки.Идентификатор игрока - это конкретное число, индивидуальное для каждого игрока.У меня есть второй CSV с идентификатором игрока, именем игрока, фамилией игрока.Я хочу отобразить идентификатор игрока в первом фрейме данных с именем и фамилией игрока из второго CSV.

Я только что создал dict из второго csv с <to_dict> Я пытался сопоставить это с <.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.

1 Ответ

0 голосов
/ 25 июня 2019

Не используйте dict, используйте здесь

Df= data_players.merge(data_rank,left_on=“player_id”, right_on=“player_id”)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...