2017-01-17 9 views
1
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という単語がある場合は、これを実行する必要があります。それ、どうやったら出来るの?pandasデータフレームのインデックス値を消去するにはどうすればよいですか?

答えて

3

はここで、それはあなたがすべての文字貪欲regex.*試合に精通していない場合には、あなたの文字列の最後のメガ前に、すべての文字が削除され、あなたが.*(?=Mega)で、正規表現で.str.replace()メソッドを使用することができます一つの選択肢であります

df.index = df.index.str.replace(".*(?=Mega)", "") 

df.index 
# Index(['Abomasnow', 'Mega Abomasnow', 'Abra', 'Absol', 'Mega Absol'], dtype='object', name=0) 
?=は先に、構文、直接 Megaの前で制約マッチングパターンを見ています
関連する問題