替换字符串中的字母组合,该字符串是pandas数据框中的列值

时间:2015-11-02 10:40:33

标签: string pandas replace dataframe

我正在替换数据帧列中的字符串。我的数据如下所示:

df:
   Column
0   a,b,c
1   c,d,e
2   a,s,e

Column中的数据是字符串,我将使用以下代码替换它们

df['Column']=df.Column.str.replace('a,?', 'whatever')

这非常有效,除了一个子串'在字符串中,如下面的代码所示。当我尝试:

df['Column'] =df.Column.str.replace('type_IV_secretion_system_of_class_G_(ICE),?' , 'T4SSG,')
没有任何反应。 '子串'没有被替换,我没有错误。我怀疑它可能与括号有关。有人知道我要做什么来替换我的子串'?如果你这样做会很好,如果你也可以解释为什么我的代码不起作用。

1 个答案:

答案 0 :(得分:1)

如果您尝试匹配文字括号,则括号是regex语法的一部分,您需要将其转义:

df['Column'] =df.Column.str.replace('type_IV_secretion_system_of_class_G_\(ICE\),?' , 'T4SSG,')