首页 > 解决方案 > Python:用熊猫重命名列

问题描述

为什么我重命名列的尝试不起作用?我可以发誓我遵循了正确的语法并且我没有收到任何错误......它根本没有这样做。

import numpy as np
import pandas as pd
header = list(range(17))
energy = pd.read_excel('Energy Indicators.xls', 
                       usecols = [2, 3, 4, 5], 
                       skiprows = list(range(17)), 
                       skipfooter = 38)

energy.rename(columns={'Unnamed: 2': 'Country', 
                       'Petajoules': 'Energy Supply', 
                       'Gigajoules': 'Energy Supply per Capita', 
                       '%': '% Renewable'})

我在 Jupyter 中的代码和输出的屏幕截图

标签: pythonpandas

解决方案


您缺少的是inplace=True重命名并应用于原始数据框对象。

注意:inplace=True 返回 None inplace=False 返回执行操作的对象的副本。

import pandas as pd

df_sorted = pd.DataFrame({'duration':[1,0,2,0],'Count':[23,23,2,1]})
df_sorted.rename(columns={'duration':'NewName'},inplace=True)
print(df_sorted)

推荐阅读