我在网上搜索找不到答案。假设我有一个像这样的df1,具有以下列名,并且我不能像大多数在线答案建议的那样对所有重复的colname使用drop。
index year season 1 2 3 year season 1 2 3
0 1991 winter 7.1 8.3 9.0 1991 spring 0.5 7.2 1.5
1 1992 winter 4.2 5.1 8.2 1991 spring 2.9 6.2 8.1
但是,我需要通过删除/删除"year"的后续列名,使列名看起来像这样但是保留"1,2,3"和'season',使最终的新df2看起来像这样:
index year season 1 2 3 season 1 2 3
0 1991 winter 7.1 8.3 9.0 spring 0.5 7.2 1.5
1 1992 winter 4.2 5.1 8.2 spring 2.9 6.2 8.1
谢谢你,
在这种情况下
df.loc[:,(df.groupby(level=0,axis=1).cumcount().eq(0)) | (df.columns!='year')]
Out[188]:
index year season 1 2 3 season 1 2 3
0 0 1991 winter 7.1 8.3 9.0 spring 0.5 7.2 1.5
1 1 1992 winter 4.2 5.1 8.2 spring 2.9 6.2 8.1