Pandas如何删除指定重复列名year,保留其余重复列season/1/2/3
实现方法
你可以通过定位所有列名为year的列的位置,仅保留第一个year列、删除后续重复的year列即可,不会影响其他重复名称的列:
方法1(直观易读)
# 获取所有名称为year的列,跳过第一个匹配项,删除剩余的重复year列 duplicate_year_cols = [col for i, col in enumerate(df1.columns) if col == 'year'][1:] df2 = df1.drop(duplicate_year_cols, axis=1)
方法2(布尔索引写法)
# 构造过滤掩码:仅排除后续重复出现的year列 mask = ~((df1.columns == 'year') & (df1.columns.to_series().eq('year').cumsum() > 1)) df2 = df1.loc[:, mask]
内容的提问来源于stack exchange,提问作者user2100039
相关产品推荐
相关产品推荐

