带有熊猫列的正则表达式
Posted
技术标签:
【中文标题】带有熊猫列的正则表达式【英文标题】:Regex with columns pandas 【发布时间】:2016-12-31 17:10:28 【问题描述】:我的问题是如何使用re
替换数据框中包含的字符串:
当我使用re.sub()
时,它给了我一个错误:
p = re.compile('New')
p.sub('old', df['Col1'])
另外,我尝试使用 for 循环,但输出出乎意料,并在所有其他行中显示第一行的值:
for i in df['Col1']:
p.sub('old', i)
print(i)
我确定我错过了什么。
【问题讨论】:
【参考方案1】:我认为你可以使用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
【讨论】:
还有一个问题:当我想将 re 与 str.startswith 一起使用时。它返回所有值 false。即:df.col1.str.startswith('(N|n)ew'),我错过了什么吗? str.startswith 不适用于正则表达式。以上是关于带有熊猫列的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章