重命名熊猫中的选定列

时间:2019-06-27 11:28:14

标签: python pandas dataframe

我正在尝试使用ilocdf.columns函数重命名数据框中的选定列(例如两个las列),但它似乎对我不起作用,我无法确定搞清楚为什么。这是我想要实现的一个玩具示例:

import pandas as pd

d = {'one': list(range(5)),
     'two': list(range(5)),
     'three': list(range(5)),
     'four': list(range(5)),
     'five': ['a', 'b', 'c', 'd', 'e'],
     'six': ['a', 'b', 'c', 'd', 'e']
    }
df = pd.DataFrame(d)

df.iloc[:,-2:].columns = ['letter_1','letter_2']

df.columns

但我一直得到原始列的名称:

Index(['one', 'two', 'three', 'four', 'five', 'six'], dtype='object')

我想念什么?

1 个答案:

答案 0 :(得分:1)

只需使用df.rename

import pandas as pd

d = {'one': list(range(5)),
     'two': list(range(5)),
     'three': list(range(5)),
     'four': list(range(5)),
     'five': ['a', 'b', 'c', 'd', 'e'],
     'six': ['a', 'b', 'c', 'd', 'e']
     }

new_names = ['letter_1', 'letter_2']
df = pd.DataFrame(d).rename(index=str, columns=dict(zip(list(d.keys())[-len(new_names):], new_names)))

print(df.columns)

输出:

  

索引(['letter_1','四个','一个','字母_2','三个','两个'],dtype ='对象')