【问题标题】:Editing Strings in a Pandas Dataframe在 Pandas 数据框中编辑字符串
【发布时间】:2021-03-01 06:10:40
【问题描述】:
我有一个如下所示的 pandas 数据框:
Date Title
Jan 1 Washington Running
Jan 2 Jefferson City Cycling
Jan 3 Springfield Running
...
如何从所有标题中删除“跑步”或“自行车”一词?我想得到:
Date Title
Jan 1 Washington
Jan 2 Jefferson City
Jan 3 Springfield
...
【问题讨论】:
标签:
python
python-3.x
pandas
string
data-cleaning
【解决方案1】:
您需要使用 pandas 的字符串修饰符。这是pandas.Series.str.replace() 的docs。它比普通替换要快一些。
Mechanical_meat 伟大的单行方法也适用于 .str.replace():
df['Title'].str.replace(r'(\bRunning\b|\bCycling\b)','',regex=True)
我想我会提供使用df['Title'].str.replace('Running','') 和df['Title'].str.replace('Cycling','') 的替代方案。为什么要分两步做?它避免了可能“昂贵”的正则表达式。在两个小型数据帧上运行timeit,但发现运行两次替换的开销明显高于正则表达式的成本。我想对于更大的数据框只会变得更糟。