我正在寻找从整个python Pandas 数据框中删除美元符号。它类似于这篇文章:

Remove Entire Character

但是,我希望删除不起作用的美元符号。我相信这是因为正则表达式将美元符号视为字符串的结尾,但是我不确定该怎么做。到目前为止,这是我创建的:

dftest = pd.DataFrame({'A':[1,2,3],
                       'B':[4,5,6],
                       'C':['f;','$d:','sda%;sd$'],
                       'D':['s%','d;','d;p$'],
                       'E':[5,3,6],
                       'F':[7,4,3]})

给出输出:
In [155]: dftest
Out[155]:
   A  B         C     D  E  F
0  1  4        f;    s%  5  7
1  2  5       $d:    d;  3  4
2  3  6  sda%;sd$  d;p$  6  3

然后,我尝试删除美元符号,如下所示:
colstocheck = dftest.columns

dftest[colstocheck] = dftest[colstocheck].replace({'$':''}, regex = True)

那不会删除美元符号,但是此代码确实删除了百分号:
dftest[colstocheck] = dftest[colstocheck].replace({'%':''}, regex = True)

因此,我不确定如何替换美元符号。

最佳答案

您需要通过$转义\:

dftest[colstocheck] = dftest[colstocheck].replace({'\$':''}, regex = True)
print (dftest)
   A  B        C    D  E  F
0  1  4       f;   s%  5  7
1  2  5       d:   d;  3  4
2  3  6  sda%;sd  d;p  6  3

10-06 04:05