[英]Create new dataframe column based on 2 criteria from another dataframe
I have the following 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 output: 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
And my dataframe that I am trying to complete:我正在尝试完成的数据框:
df1=pd.DataFrame({'Name':['JOHN','ALLEN','BOB','NIKI','CHARLIE','CHANG'],
'Age':[35,42,63,29,47,51],})
df1 output: df1 输出:
- Name Age
0 JOHN 35
1 ALLEN 42
2 BOB 63 78
3 NIKI 29
4 CHARLIE 47
5 CHANG 51
I would like to add a new column to df1
that references ['FT_Team']
from df
based upon 'Name'
and 'Age'
in df1
.我想一个新列添加到df1
引用['FT_Team']
从df
在基于'Name'
和'Age'
在df1
。
I believe that the new code should look something like a .map;我相信新代码应该看起来像一个 .map; however, I am completely stumped as to what the arguments would be for multiple arguments.但是,对于多个参数的参数是什么,我完全感到困惑。
df1['FT_Team] =
final output:最终输出:
- 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
Ultimately, I would like to match the football team from df
based upon Name AND Age in df1
最终,我想根据df1
Name AND Age 匹配来自df
的足球队
Per Quang Hoang:
df1=df1.merge(df[['Name','Age','FT_Team']], on=['Name','Age'], how='left')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.