Python 如何重命名索引字符串?

Python 如何重命名索引字符串?,python,pandas,Python,Pandas,我期待着将索引名称“Juan Gonzalez”重命名为“Jason”,将“Jorge Sanchez”重命名为“George”,将“Miguel Sanz”重命名为“Michael”                            age height(cm) weight(kg) People Juan Gonzalez               22     181    60 Jorge Sanchez          34 

我期待着将索引名称“Juan Gonzalez”重命名为“Jason”,将“Jorge Sanchez”重命名为“George”,将“Miguel Sanz”重命名为“Michael”

                              age     height(cm)  weight(kg)
 People
 Juan Gonzalez                  22     181        60
 Jorge Sanchez                  34     190        84
 Miguel Sanz                    50     166        59  
我认为这就像重命名列时一样:

df.rename(columns={,,}, inplace=True)
然而当我尝试

df.rename(index={'Juan Gonzalez':'Jason','Jorge Sanchez':'George','Miguel Sanz':'Michael'}, inplace=True)

它不工作,它返回具有相同索引名称的相同数据帧

似乎索引值中有一些空白

要删除它,请使用:

或者将参数
skipinitialspace=True
添加到

样本:

import pandas as pd
from pandas.compat import StringIO

temp=u"""People,age height(cm),weight(kg)

 Juan Gonzalez,22,181,60
 Jorge Sanchez,34,190,84
Miguel Sanz,50,166,59"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp), skipinitialspace=True)
print (df)
               People  age height(cm)  weight(kg)
Juan Gonzalez      22             181          60
Jorge Sanchez      34             190          84
Miguel Sanz        50             166          59

print (df.index)
Index(['Juan Gonzalez', 'Jorge Sanchez', 'Miguel Sanz'], dtype='object')

d = {'Juan Gonzalez':'Jason','Jorge Sanchez':'George','Miguel Sanz':'Michael'}
df.rename(index=d, inplace=True)
print (df)
         People  age height(cm)  weight(kg)
Jason        22             181          60
George       34             190          84
Michael      50             166          59


什么是
df.index.tolist()
?这对我有用,请检查索引中是否有空格
import pandas as pd
from pandas.compat import StringIO

temp=u"""People,age height(cm),weight(kg)

 Juan Gonzalez,22,181,60
 Jorge Sanchez,34,190,84
Miguel Sanz,50,166,59"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp), skipinitialspace=True)
print (df)
               People  age height(cm)  weight(kg)
Juan Gonzalez      22             181          60
Jorge Sanchez      34             190          84
Miguel Sanz        50             166          59

print (df.index)
Index(['Juan Gonzalez', 'Jorge Sanchez', 'Miguel Sanz'], dtype='object')

d = {'Juan Gonzalez':'Jason','Jorge Sanchez':'George','Miguel Sanz':'Michael'}
df.rename(index=d, inplace=True)
print (df)
         People  age height(cm)  weight(kg)
Jason        22             181          60
George       34             190          84
Michael      50             166          59
import pandas as pd
from pandas.compat import StringIO

temp=u"""People,age height(cm),weight(kg)

 Juan Gonzalez,22,181,60
 Jorge Sanchez,34,190,84
Miguel Sanz,50,166,59"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp))
print (df)
                People  age height(cm)  weight(kg)
 Juan Gonzalez      22             181          60
 Jorge Sanchez      34             190          84
Miguel Sanz         50             166          59

print (df.index)
Index([' Juan Gonzalez', ' Jorge Sanchez', 'Miguel Sanz'], dtype='object')

df.index = df.index.str.strip()

print (df.index)
Index(['Juan Gonzalez', 'Jorge Sanchez', 'Miguel Sanz'], dtype='object')

d = {'Juan Gonzalez':'Jason','Jorge Sanchez':'George','Miguel Sanz':'Michael'}
df.rename(index=d, inplace=True)
print (df)
         People  age height(cm)  weight(kg)
Jason        22             181          60
George       34             190          84
Michael      50             166          59