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
的地方执行此操作。我怎么做? 最佳答案
这是一个可以在正则表达式中使用.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)