Python 如何重命名索引字符串?
我期待着将索引名称“Juan Gonzalez”重命名为“Jason”,将“Jorge Sanchez”重命名为“George”,将“Miguel Sanz”重命名为“Michael”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
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