包含列 pandas 的正则表达式

Regex with columns pandas

我的问题是如何使用 re 替换数据框中包含的字符串:

当我使用 re.sub() 时,它给我一个错误:

p = re.compile('New')
p.sub('old', df['Col1'])

此外,我尝试使用 for 循环,但输出出乎意料,并在所有其他行中显示第一行的值:

for i in df['Col1']:
    p.sub('old', i)
    print(i)

我确定我遗漏了什么。

我认为你可以使用 str.replace,它也适用于 regex:

df = pd.DataFrame({'Col1':['sss old','dd','old']})
print (df)
      Col1
0  sss old
1       dd
2      old

df.Col1 = df.Col1.str.replace('old','new')
print (df)
      Col1
0  sss new
1       dd
2      new