#python #pandas #dataframe
Вопрос:
У меня есть следующий фрейм данных:
df=pd.DataFrame({'Name':['JOHN','ALLEN','BOB','NIKI','CHARLIE','CHANG'], 'Age':[35,42,63,29,47,51], 'Salary_in_1000':[100,93,78,120,64,115], 'FT_Team':['STEELERS','SEAHAWKS','FALCONS','FALCONS','PATRIOTS','STEELERS']})
выход df:
- Name Age Salary_in_1000 FT_Team 0 JOHN 35 100 STEELERS 1 ALLEN 42 93 SEAHAWKS 2 BOB 63 78 FALCONS 3 NIKI 29 120 FALCONS 4 CHARLIE 47 64 PATRIOTS 5 CHANG 51 115 STEELERS
И мой фрейм данных, который я пытаюсь завершить:
df1=pd.DataFrame({'Name':['JOHN','ALLEN','BOB','NIKI','CHARLIE','CHANG'], 'Age':[35,42,63,29,47,51],})
выход df1:
- Name Age 0 JOHN 35 1 ALLEN 42 2 BOB 63 78 3 NIKI 29 4 CHARLIE 47 5 CHANG 51
Я хотел бы добавить новый столбец к df1
этим ссылкам ['FT_Team']
, df
основанным на 'Name'
и 'Age'
в df1
.
Я считаю, что новый код должен выглядеть примерно как .map; однако я совершенно не понимаю, какими будут аргументы для нескольких аргументов.
df1['FT_Team] =
конечный результат:
- Name Age FT_Team 0 JOHN 35 STEELERS 1 ALLEN 42 SEAHAWKS 2 BOB 63 FALCONS 3 NIKI 29 FALCONS 4 CHARLIE 47 PATRIOTS 5 CHANG 51 STEELERS
В конечном счете, я хотел бы подобрать футбольную команду df
по имени И возрасту в df1
Комментарии:
1.
df1=df1.merge(df[['Name','Age','FT_Team']], on=['Name','Age'], how='left')
?2. Это работает! Большое спасибо!
Ответ №1:
Пер Куанг Хоанг:
df1=df1.merge(df[['Name','Age','FT_Team']], on=['Name','Age'], how='left')