Abomasnow Grass Ice 494 90 92 75 92 85 60
AbomasnowMega Abomasnow Grass Ice 594 90 132 105 132 105
Abra Psychic Psychic 310 25 20 15 105 55
Absol Dark Dark 465 65 130 60 75 60 75
AbsolMega Absol
我有一个像这样的数据框,它有一些脏索引值。例如:我需要将值从AbomasnowMega Abomasnow
更改为Mega Abomasnow
,并且类似于其他类似事件,即我需要在有Mega
字的地方执行此操作。我该怎么做?
答案 0 :(得分:3)
以下是一个选项,您可以使用带有.str.replace()
的正则表达式的.*(?=Mega)
方法,它将删除字符串中最后一个 Mega 之前的所有字符,以防您我不熟悉regex
,.*
贪婪地匹配所有字符,?=
是预见语法,它直接在Mega
前限制匹配模式:
df.index = df.index.str.replace(".*(?=Mega)", "")
df.index
# Index(['Abomasnow', 'Mega Abomasnow', 'Abra', 'Absol', 'Mega Absol'], dtype='object', name=0)