SaNa
SaNa

Reputation: 343

how to add values of a column in dataframe to another dataframe based on common values? pandas/python

Two dataframes:

df1:

Name
Sarah   
John   
J   
Fritz
Sarah
John

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. The expected answer is:

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

Upvotes: 0

Views: 475

Answers (1)

BENY
BENY

Reputation: 323226

Try with merge

df = df1.merge(df2.rename(columns = {'F_Name':'Name'}), on ='Name',how='left')

Upvotes: 1

Related Questions