我正在寻找从整个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