Pandas rename columns不重命名列

mrzz3bfm  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(84)

我试着这样做:

districtident.rename(columns={'leaid':'nces'},inplace=True)

字符串
但失败了

的数据
其他不起作用的东西:

districtident = districtident.rename(columns={'leaid':'nces'})


Renaming the column names of pandas dataframe is not working as expected - python
renaming columns in pandas doesn't do anything
也不是很好。
这里有一个明显的吸引力:



唉,没有。
重新启动内核也不起作用。唯一起作用的是:

districtident['nces'] = districtident['leaid']
disrictident.drop(['leaid'],axis=1,inplace=True)


但我觉得这不是最好的。特别是如果我需要做一些列。

kkbh8khc

kkbh8khc1#

在我将一个Pandas DF与两个Pandas系列连接后,一个特定DF遇到了同样的问题。尝试使用下面列出的df.rename()的几个变体。没有一个成功的。

# using column name and axis 
df = df.rename({'oldName1':'newName1', 'oldName2':'newName2'}, axis = 'columns')

# using column index and axis
df = df.rename({28:'newName1', 29:'newName2'}, axis = 'columns')

# using column name
df = df.rename(columns = {'oldName1':'newName1', 'oldName2':'newName2'})

# using column name and inplace function
df.rename(columns = {'oldName1':'newName1', 'oldName2':'newName2'}, inplace = True)

# using column index and inplace function
df.rename(columns = {28:'newName1', 29:'newName2'}, inplace = True)

字符串
也尝试了这个建议df.rename(columns={(28, 'newName1'): 'newName1'}, inplace = True,这不工作.
有效的方法是:df.columns.values[27]= 'newName1'
这当然不是理想的,因为它需要针对每一列单独地完成。因为我只有2列重命名,这对我来说没问题。如果可能的话,我建议使用df.rename(),但如果它只是不工作,这可能是一个替代方案。

相关问题