无法重命名Pandas中的所有列

无法重命名Pandas中的所有列,pandas,Pandas,我做错了什么?我正在尝试重命名所有列: data.rename(columns={39:'Age','State-gov':'Workclas', 77516:'Final weight','Bachelors':'Education', 13:'Education number of years', 'Never-married':'Marital status', 'Adm-clerical':'Occup

我做错了什么?我正在尝试重命名所有列:

data.rename(columns={39:'Age','State-gov':'Workclas', 77516:'Final weight','Bachelors':'Education',
                     13:'Education number of years', 'Never-married':'Marital status', 
                     'Adm-clerical':'Occupation','Not-in-family':'Relationship','White':'Race', 
                     'Male':'Sex', 2174:'Capital gain', 0:'Capital loss', 40:'Hours per week',
                     'United-States':'Country of origin'}, inplace=True)
data.columns

输出:

Index(['39', ' State-gov', ' 77516', ' Bachelors', ' 13', ' Never-married',
       ' Adm-clerical', ' Not-in-family', ' White', ' Male', ' 2174', ' 0',
       ' 40', ' United-States', ' <=50K'],
      dtype='object')
索引(['39','州政府','77516','单身','13','未婚',
“行政文书”、“不在家”、“白人”、“男性”、“2174”、“0”,
‘40’、‘美国’、‘试试这个:

data.columns = data.columns.str.strip()

data.rename(columns={'39':'Age','State-gov':'Workclas', '77516':'Final weight','Bachelors':'Education',
                     '13':'Education number of years', 'Never-married':'Marital status', 
                     'Adm-clerical':'Occupation','Not-in-family':'Relationship','White':'Race', 
                     'Male':'Sex', '2174':'Capital gain', '0':'Capital loss', '40':'Hours per week',
                     'United-States':'Country of origin'}, inplace=True)

您的大多数列名都有前导空格。此外,数字表示为字符串。您的问题是数据类型。您正在尝试将“39”重命名为一个字符串,其中39是一个整数。例如,您的重命名词典中的第一个条目。将
39:'Age'
更改为
'39':'Age'
。此外,与Wouter states一样,也可以使用
df columns=df.columns.str.strip()
删除字符串周围的空白。