从整个Python Pandas Dataframe中删除Dollar Sign

d84*_*nj4 4 python regex replace dataframe pandas

我想从整个python pandas数据帧中删除美元符号.它与这篇文章类似:

删除整个字符

但是,我正在寻找删除无效的美元符号.我相信这是因为正则表达式认为美元符号是字符串的结尾,但我不知道该怎么做.这是我到目前为止创建的内容:

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]})
Run Code Online (Sandbox Code Playgroud)

这给出了输出:

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
Run Code Online (Sandbox Code Playgroud)

然后我尝试删除美元符号如下:

colstocheck = dftest.columns

dftest[colstocheck] = dftest[colstocheck].replace({'$':''}, regex = True)
Run Code Online (Sandbox Code Playgroud)

这不会删除美元符号,但此代码确实删除百分号:

dftest[colstocheck] = dftest[colstocheck].replace({'%':''}, regex = True)
Run Code Online (Sandbox Code Playgroud)

所以我不确定如何更换美元符号.

jez*_*ael 9

你需要逃避$\:

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
Run Code Online (Sandbox Code Playgroud)

  • 注意:您也可以在`dict`中指定多个字符:`{'\'':'',',':''}`用于替换美元符号和逗号.处理垃圾Excel出口时超级方便:) (2认同)