首页 > 解决方案 > str.replace() 和 replace() 熊猫数据框的问题

问题描述

我有以下数据:

print(df):
Name
James (C)
Mick
Tash (C)
Liv
Nathan
Chris

我只是想得到

print(df):
James
Mick
Tash
Liv
Nathan
Chris

我努力了:

df['Name'] = df['Name'].str.replace(' (C)','')

什么都不做。然后我也尝试:

df['Name'] = df['Name'].replace({'(C)': ''}, inplace=True)

这会清除整个输出列。

然后我尝试了:

df['Name'] = df['Name'].str.replace("[(C)]", "")

哪个有效,但它删除了任何C例如Chris变成hris

我看过,这些是主要的选择,但它们都不太管用?

标签: pythonpandas

解决方案


用于\转义正则表达式,因为()是特殊的正则表达式字符:

df['Name'] = df['Name'].str.replace(' \(C\)','')
print (df)
     Name
0   James
1    Mick
2    Tash
3     Liv
4  Nathan
5   Chris

推荐阅读