一个具有多个具有相同列名的列的数据框,如何仅保留第一列而删除其余列?

问题描述

我有一个包含以下列的df:

Index(['Instrument','Date','Return on Invst Cap','Book Value Per Share,Total Equity','Earnings Per Share Reported - Actual','Revenue from Business Activities - Total','Free Cash Flow - Actual','Total Long Term Debt','Profit/(Loss) - Starting Line - Cash Flow'],dtype='object')

有几列称为“日期”,其中有些具有相同的值,有些则没有。

我只想保留第一列“日期”列,然后删除其余的列。我认为重要的一步是将第一个“日期”更改为其他名称,例如更改为“ 1日期”,然后删除另一个“日期”列

但是我无法仅重命名此列。例如,我尝试df_big5_simplified= df_big5.rename(columns={1: '1 Date'})尝试按列索引位置重命名

但是生成的df完全相同...

我也尝试过这种方法:

columns=pd.Index(['Date','Instrument',name='item')

df_big5_simplifed=df_big5.reindex(columns=columns)

那我有这个错误:

ValueError: cannot reindex from a duplicate axis

有什么想法吗?我可以有50个相同的列,而只想保留第一个。

解决方法

您可以设置所有列名称:

df = df.set_axis(['Instrument','Date','Return on Invst Cap','Date2','Book Value Per Share,Total Equity','Date3','Earnings Per Share Reported - Actual','Date4','Revenue from Business Activities - Total','Date5','Free Cash Flow - Actual','Date6','Total Long Term Debt','Date7','Profit/(Loss) - Starting Line - Cash Flow'],axis=1,inplace=False)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...