从整个 Python Pandas 数据框中删除美元符号
Posted
技术标签:
【中文标题】从整个 Python Pandas 数据框中删除美元符号【英文标题】:Remove Dollar Sign from Entire Python Pandas Dataframe 【发布时间】:2017-08-23 02:51:10 【问题描述】:我希望从整个 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)
所以我不确定如何替换美元符号。
【问题讨论】:
【参考方案1】:您需要通过\
转义$
:
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
【讨论】:
啊,我在玩这个,但无法让它工作——我不熟悉正则表达式。谢谢! 注意:您也可以在dict
中指定多个字符:'\$': '', ',': ''
以替换美元符号和逗号,例如。处理垃圾 Excel 导出时超级方便:)【参考方案2】:
添加到 jezrael 的答案中。在反斜杠字符串前添加 'r' 以避免 pep8 无效转义序列警告。
dftest[colstocheck] = dftest[colstocheck].replace(r'\$':'', regex = True)
【讨论】:
以上是关于从整个 Python Pandas 数据框中删除美元符号的主要内容,如果未能解决你的问题,请参考以下文章
Python Pandas:如何从包含列表中值的数据框中删除所有列?