我有一个包含以下列的df:
Index(['Instrument', 'Date', 'Return on Invst Cap', 'Date',
'Book Value Per Share, Total Equity', 'Date',
'Earnings Per Share Reported - Actual', 'Date',
'Revenue from Business Activities - Total', 'Date',
'Free Cash Flow - Actual', 'Date', 'Total Long Term Debt', 'Date',
'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', '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'], name='item')
df_big5_simplifed=df_big5.reindex(columns=columns)
那我有这个错误:
ValueError: cannot reindex from a duplicate axis
有什么想法吗?我可以有50个相同的列,而只想保留第一个。
答案 0 :(得分:1)
您可以设置所有列名称:
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)