如何将一列中的值替换为包含 "xxx" 的字符串,另一列中的值



我试图将Col1中的值替换为Col2中对应的行值,如果Col1包含字符串"Local"

我尝试了3种变化,似乎都不起作用。

df = df['Col1'].replace(['Col1'].str.contains("Local"),["Col2"])

df.loc[df['Col1'].isin(['Local']), 'Col1'] = ['Col2']

df3['Client Name_x']=df3['Client Name_y'].where(df3['Client Name_x'].isin(['Local']),df3['Client Name_x'])

这两段代码都没有期望的结果…

我想你可以这样写:

df['Col1'] = df['Col1'].mask(df['Col1'].str.contains('Local'), df['Col2'])

如果你不想区分大小写,你可以在str.contains

中传递case=False

另一种方法是:

df['Col1'] = np.where(df['Col1'].str.contains('Local'), df['Col2'], df['Col1'])

相关内容

  • 没有找到相关文章

最新更新