我有一个像这样的列值'Voice_DropRate_4G(%)',所以我需要在数据框中像这样,只需从所有列名中删除这个'(%)',我还想替换大写字母在数据帧voice_droprate_4g
当我尝试通过使用Replace
函数(如下面的代码)来删除此行中不需要的字符时。
dft.columns = dft.columns.str.replace('(%)', '')
但是它并没有去除括号,显示的是这样的'Voice_DropRate_4G()',所以任何人都知道如何解决此问题。...
谢谢...
答案 0 :(得分:4)
由于()
是特殊的正则表达式字符,因此您需要通过\
对其进行转义,然后将值转换为小写:
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: []