У меня 2 кадра данных, как показано ниже. Я хотел бы объединить два кадра данных и отобразить расписание матчей с идентификатором матча и именами команд.
df_team = pd.DataFrame({'Team_ID':['1','2','3','4'],'Team_Name':['CSK','KKR','MI','RCB']})
df_match = pd.DataFrame({'Match_id':['01','02','03','04'],'Team_ID':['1','2','3','4'],'Opponent_Team_Id':['2','3','4','1']})
display(df_team)
display(df_match)
Вывод
Я получил ожидаемый результат с использованием приведенного ниже кода. Однако я хотел бы знать, можно ли это еще больше упростить. Пожалуйста, порекомендуйте. Заранее спасибо.
Слияние, чтобы получить имя команды хозяев
df_match_schedule = pd.merge(df_match,df_team,left_on='Team_ID',right_on='Team_ID')
df_match_schedule.rename(columns = {'Team_Name':'Home Team'}, inplace = True)
Слияние, чтобы получить имя команды гостей
df_match_schedule_2 = pd.merge(df_match_schedule,df_team,left_on='Opponent_Team_Id',right_on='Team_ID').drop('Team_ID_y',axis=1)
df_match_schedule_2.rename(columns = {'Team_Name':'Away Team'}, inplace = True)
Показать расписание матчей
df_match_schedule_2[['Match_id','Home Team','Away Team']]
Окончательный вывод