使用索引重命名多个列

如何使用索引重命名数据框的多个列?例如,我想将位置 5、6、7、8 的列分别重命名为“五”、“六”、“七”、“八”。我不想单独输入字典中的键。



30秒到达战场
浏览 114回答 3
3回答

阿晨1998

在已经有字典的情况下,您可以使用rename映射到新的轴值:df = pd.DataFrame(columns=range(10))d = {5:'five', 6:'six', 7:'seven', 8:'eight'}df = df.rename(d, axis=1)# Index([0, 1, 2, 3, 4, 'five', 'six', 'seven', 'eight', 9], dtype='object')或者,正如@ch3ster 指出的那样,重命名接受两个参数index并column允许独立重命名:df = df.rename(columns=d)如果您知道要重命名的列的范围,并且有一个新列名列表,您可以构建一个字典rename:l = ['five', 'six', 'seven', 'eight', 'nine']df = df.rename(columns=dict(zip(range(5,9), l)))

POPMUISE

如果您不想使用renamewith a dict,正如您提到的,您也可以尝试以这种方式重命名列:column_names = list(df.columns)column_names[4:8] = ['five', 'six', 'seven', 'eight']df.columns = column_names正如已经提到的那样,您不必使用dict. 您可以一次完成所有操作:my_dict = {5: 'five', 6: 'six', 7: 'seven'} # etc.df.rename(columns = my_dict, inplace = True)

一只斗牛犬

建立在你陈述的前提下I don't want to enter the keys in the dictionary individually.:您可以使用一个名为num2words.从文档:num2words 是一个将数字转换42为单词的库forty-two。用法:from num2words import num2wordsnum2words(10)输出:ten做pip install num2words你的最终代码应该是:from num2words import num2wordsd = {i: num2words(i) for i in range(100)} df = df.rename(d, axis=1)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python