[英]how to add values of a column in dataframe to another dataframe based on common values? pandas/python
Two dataframes:两个数据框:
df1: df1:
Name
Sarah
John
J
Fritz
Sarah
John
df2: df2:
F_Name gender count
Sarah F 1000
John M 3500
Fritz M 12540
Aim : if df1.name is in df2.F_Name then add column gender to df1.目标:如果 df1.name 在 df2.F_Name 中,则将列性别添加到 df1。 The expected answer is:
预期的答案是:
df1: df1:
Name gender
Sarah F
John M
J
Fritz M
Sarah F
John M
below code gives error: "Unalignable boolean Series provided as indexer"下面的代码给出错误:“作为索引器提供的不可对齐的布尔系列”
df1['gender'] = df2[df1['Name'].isin(df2['Name'])]['gender'].values
尝试merge
df = df1.merge(df2.rename(columns = {'F_Name':'Name'}), on ='Name',how='left')
使用map
:
df1['gender'] = df1['Name'].map(df2.set_index('F_Name')['gender'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.