我有一个长的DataFrame,其索引值如下:
| burger10 | ...
| pasta25 | ...
| milk | ...
| yoghurt() | ...
我需要摆脱尾随的数字或括号。我试图使用正则表达式的replace(),但没有成功。试过这个:
energy.replace(to_replace='[0-9,\.,\(,\)]+', value='', regex=True, inplace=True)
答案 0 :(得分:2)
您无需在字符类()
中转义,
或使用[]
,只需将它们用作文字,如果您的意思是尾随,你需要锚$
来匹配字符串的结尾:
energy[0].str.replace("[0-9()]+$", "")
#0 burger
#1 pasta
#2 milk
#3 yoghurt
#Name: 0, dtype: object
如果字符串在索引中,您可以使用.index
来访问,修改它并将其重新分配回数据框:
energy.index = energy.index.str.replace("[0-9()]+$", "")