Pandas替换DataFrame中的所有子字符串

时间:2018-05-17 15:38:39

标签: python-3.x pandas replace

鉴于以下数据框:

import pandas as pd
d = pd.DataFrame({'A':['^|^^|^','abc'],'B':['def','^|^']})

d
        A    B
0  ^|^^|^  def
1     abc  ^|^

我需要用空格(“”)替换“^ | ^”的所有实例。

期望的结果是:

        A    B
0           def
1     abc   

我试过这些,但无济于事:

d.replace('^|^',' ') #(replaces nothing)
d.replace('^|^',' ',regex=True) #(only works for the value in column B, second row)

提前致谢!

1 个答案:

答案 0 :(得分:4)

您需要转义特殊的RegEx符号:

import re

In [191]: d.replace(re.escape('^|^'),' ', regex=True)
Out[191]:
     A    B
0       def
1  abc