如何重命名具有相同名称的列?

数据挖掘 熊猫 数据框
2021-10-10 05:21:27

我想重命名列名,但数据框包含相似的列名。如何重命名它们?

df.columns

输出:

Index([ 'Goods',
       'Durable goods','Services','Exports', 'Goods', 'Services', 'Imports', 'Goods', 'Services']

这里有三个名称相似的商品列。如何重命名特定列?

2个回答

你可以使用这个:

df.columns = ['Goods_1', 'Durable goods','Services','Exports', 'Goods_2', 'Services', 'Imports', 'Goods_3', 'Services']

或者如果您的列太多:

cols = []
count = 1
for column in df.columns:
    if column == 'Goods':
        cols.append(f'Goods_{count}')
        count+=1
        continue
    cols.append(column)
df.columns = cols

您也可以根据其位置重命名列名:

df.rename(columns={ df.columns[1]: "new_col_name" })

注意:如果您有相似的列名称,它们都将被重命名。