[英]how to compare two columns in different data frames & replace the values
Two dataframes are there, df1 has 2 columns,name & profession那里有两个数据框,df1 有 2 列,名称和职业
df_1
Name profession
srinu senior engineer
Azahar engineer
vijaya data analyst
rahul team lead
swapna manager
krishna engineer
rama senior engineer
df_2 has only one column with (name-employeeid) df_2 df_2 只有一列带有 (name-employeeid) df_2
Name-empid
vijaya-2124148
rahul-2124152
krishna-2124189
rama-2124169
I am trying to compare df1 and df2 using name and if names in df2 matches with df1, profession should be replaced as"data scientist".我正在尝试使用名称比较 df1 和 df2,如果 df2 中的名称与 df1 匹配,则应将专业替换为“数据科学家”。
i have tried many things,but couldn't figure it out,can someone help me,please?我已经尝试了很多东西,但无法弄清楚,有人可以帮助我吗?
i have tried using map,replace..but getting errors我试过使用 map,替换..但是出现错误
You could use:你可以使用:
# extract the names from df_2
m = (df_1['Name']
.str.lower()
.isin(df_2['Name-empid'].str.extract('(\w+)-', expand=False))
)
# match with df_1 ensuring common case
df_1.loc[m, 'profession'] = 'Data Scientist'
Output: Output:
Name profession
0 srinu senior engineer
1 Azahar engineer
2 vijaya Data Scientist
3 rahul Data Scientist
4 swapna manager
5 krishna Data Scientist
6 rama Data Scientist
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.