You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas中保留DataFrame唯一列:解决重复列删除报错问题

解决Pandas处理Excel重复列时的报错问题

当Excel文件存在多列名称和值完全相同的情况(如3个2G_configuredMaxTxPower列),直接通过列名删除重复列会触发「2G_configuredMaxTxPower not found in axis」报错,以下是两种可靠的解决方法:

方法一:全局处理所有重复列(保留每组重复列的第一个)

这种方法会自动识别所有名称和值都重复的列,只保留每组中的第一列:

import pandas as pd

# 读取Excel文件
df = pd.read_excel("你的文件路径.xlsx")

# 转置DataFrame,将列转为行,标记重复的行(原重复列)
# keep='first'表示保留第一个出现的列,后续重复列标记为True
duplicated_cols = df.T.duplicated(keep='first')

# 筛选出需要保留的列(取反后,True变为False,False变为True)
df_unique = df.loc[:, ~duplicated_cols]

方法二:针对特定重复列处理

如果已知具体重复的列名(如2G_configuredMaxTxPower),可以精准保留该列的第一个实例,删除其余重复列:

import pandas as pd

df = pd.read_excel("你的文件路径.xlsx")

# 找出目标列的所有索引位置
target_col = "2G_configuredMaxTxPower"
col_positions = [idx for idx, col_name in enumerate(df.columns) if col_name == target_col]

# 若存在多个重复列,删除第一个之外的所有列
if len(col_positions) > 1:
    df = df.drop(df.columns[col_positions[1:]], axis=1)

报错原因说明

直接使用df.drop("2G_configuredMaxTxPower", axis=1)时,Pandas无法处理同名多列的删除逻辑——第一次删除后,剩余的同名列索引会混乱,再次执行删除操作就会提示列名不存在。而上述两种方法通过索引定位或布尔筛选,能精准操作重复列,避免报错。

内容的提问来源于stack exchange,提问作者Prashant Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 19:32:06