python - 如何从pandas数据框中删除带括号的特殊字符

标签 python pandas

我有一个像“Voice_DropRate_4G(%)”这样的列值,所以我需要在数据框中这样,只需从所有列名称中删除这个“(%)”,我还想替换大写字母在数据框中使用小写字母作为最终结果 voice_droprate_4g

因为我尝试使用此行通过使用 Replace 函数(如下面的代码)删除不需要的字符..

dft.columns = dft.columns.str.replace('(%)', '')

但它并没有删除括号,它向我展示了这样的“Voice_DropRate_4G()”,所以任何人都知道如何解决这个问题....

谢谢...

最佳答案

因为 () 是特殊的正则表达式字符,您需要通过 \ 对其进行转义,然后将值转换为小写:

dft.columns = dft.columns.str.replace('\(%\)', '').str.lower()

示例:

dft = pd.DataFrame(columns=['Voice_DropRate_4G(%)','Voice_DropRate_5G(%)'])
dft.columns = dft.columns.str.replace('\(%\)', '').str.lower()
print (dft)
Empty DataFrame
Columns: [voice_droprate_4g, voice_droprate_5g]
Index: []

关于python - 如何从pandas数据框中删除带括号的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59422619/

相关文章:

python - 将 float64 列转换为日期时间 pandas 时出错

python - 为什么 pd.MultiIndex.from_tuples 改变元组的顺序

python - 如何在Python中正确使用断言?

python - 重置 pandas 中的重复多重索引

python - 打印用于登录 Python 的时间戳

python - 如何根据字符串列设置 python pandas 中日期时间列的时间

python - 在 Flask 中禁用缓存

python - 如何在不丢失数据框的情况下在 Pandas 中编辑姓氏、名字的顺序

python - 如何让pandas.DataFrame.rank从0开始?

python - 如何合并数据框中一行的数据?