Python:匹配字符串并就地替换

时间:2020-10-13 18:57:54

标签: python pandas dataframe replace

我有两个带有多列文本信息的数据框(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并不陌生,并且学习了它的基础知识。

1 个答案:

答案 0 :(得分:2)

您应该只尝试在split栏中输入dictzipreplace

di=dict(zip(df1.Name.str.split(":").str[0],df1.Name))

df2["Codes"]=df2["Codes"].replace(di, regex=True)