Ale*_*ich 8 python regex string replace pandas
我有以下pandas数据帧.为简单起见,我们假设它只有两列:id
和search_term
id search_term
37651 inline switch
Run Code Online (Sandbox Code Playgroud)
我做:
train['search_term'] = train['search_term'].str.replace("in."," in. ")
Run Code Online (Sandbox Code Playgroud)
期望上面的数据集不受影响,但我得到了这个数据集的回报:
id search_term
37651 in. in. switch
Run Code Online (Sandbox Code Playgroud)
这意味着inl
被替换为in.
,ine
并被替换为in.
,好像我使用正则表达式,其中dot表示任何字符.
如何重新设置第一个命令,以便字面上in.
替换为in.
任何in
未跟随点的任何一个命令,如下所示:
a = 'inline switch'
a = a.replace('in.','in. ')
a
>>> 'inline switch'
Run Code Online (Sandbox Code Playgroud)
0.23 或更高版本中,str.replace()
有一个用于切换正则表达式的新选项。以下操作将简单地将其关闭。
df.search_term.str.replace('in.', 'in. ', regex=False)
Run Code Online (Sandbox Code Playgroud)
将导致:
0 inline switch
1 in. here
Name: search_term, dtype: object
Run Code Online (Sandbox Code Playgroud)
尝试转义.
:
import pandas as pd
df = pd.DataFrame({'search_term': ['inline switch', 'in.here']})
>>> df.search_term.str.replace('in\\.', 'in. ')
0 inline switch
1 in. here
Name: search_term, dtype: object
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1173 次 |
最近记录: |