使用pandas python重命名数据帧列

时间:2017-10-21 21:47:05

标签: python pandas dataframe

我正在尝试更改我的数据帧列名称,我尝试了两种方法,但没有一种方法有效。 这是我的代码;

方法1:

def func():   
    energy=pd.ExcelFile('Energy Indicators.xls').parse('Energy')
    energy=energy.iloc[16:][['Environmental Indicators: Energy','Unnamed:3','Unnamed: 4','Unnamed: 5']].copy() energy.columns()=['Country',
    'Energy Supply', 'Energy Supply per Capita', '%Renewable']
return energy

方法2:

def func():
    energy=pd.ExcelFile('Energy Indicators.xls').parse('Energy')
    energy=energy.iloc[16:][['Environmental Indicators: Energy','Unnamed: 3','Unnamed: 4','Unnamed: 5']].copy()

    return energy.rename(columns={'Environmental Indicators: Energy': 'Country', 'Unnamed: 3': 'Energy Supply',
                                  'Unnamed: 4': 'Energy Supply per Capita', 'Unnamed: 5': '% Renewable'}, inplace=True)

它们都返回一个NoneType对象。

以下是我正在处理的.xls文件:https://drive.google.com/file/d/0B80lepon1RrYeDRNQVFWYVVENHM/view?usp=sharing

2 个答案:

答案 0 :(得分:1)

方法1中的

,尝试将SharedPreferences更改为energy.columns()

energy.columns

答案 1 :(得分:1)

inplace=True参数修改了数据框,这意味着它不会因操作而返回任何内容。

您可以:
- 返回.rename()而不是inplace=True
- 不要返回任何内容并使用pass-by-reference属性进行更新。