Python Pandas DataFrame替换:从尾随数字中删除字符串

时间:2017-01-15 17:14:32

标签: python regex pandas

我有一个长的DataFrame,其索引值如下:

| burger10 | ...

| pasta25  | ...

| milk     | ...

| yoghurt() | ...

我需要摆脱尾随的数字或括号。我试图使用正则表达式的replace(),但没有成功。试过这个:

energy.replace(to_replace='[0-9,\.,\(,\)]+', value='', regex=True, inplace=True)

1 个答案:

答案 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()]+$", "")