我有两个带有多列文本信息的数据框(DF1和DF2)。我需要匹配并更新DF1中的一列
DF1:
Code Name
A A: Andrew
B B: Bill
C C: Chuck
DF2:
Number Codes
1 A
2 B;C
3 A;C
我所需的输出是按如下方式转换DF2:
DF2:
Number Codes
1 A: Andrew
2 B: Bill;C: Chuck
3 A: Andrew;C: Chuck
到目前为止,我已经尝试使用:
df2['Codes'] = df2['Codes'].replace(to_replace="A", value="A: Andrew", regex=True)
但这不适用于较大的数据集。
我是否使用相同的df.replace函数并进行一些循环以查找每个代码并进行替换?还是有其他更好的方法?
我要学习的一个选项是将sub()与regex一起使用,但是我对regex并不陌生,并且学习了它的基础知识。
答案 0 :(得分:2)
您应该只尝试在split
栏中输入dict
和zip
和replace
di=dict(zip(df1.Name.str.split(":").str[0],df1.Name))
df2["Codes"]=df2["Codes"].replace(di, regex=True)