python - 从 Pandas 中删除重复列读取 excel 数据框

标签 python pandas dataframe

最接近的答案是下面的链接。
how to delete a duplicate column read from excel in pandas

我的要求略有不同。我有 100 多列,列名中可以有“.”(点)。示例数据框如下:-

df = pd.DataFrame(columns=['A', 'B', 'C','A','D. s'])

所以我不能根据 '.1' 或 '.2' 截断

此外,当我从 excel 中读取时,列名被读取为 A、A.1 和 A.2 等,因此即使以下命令也不起作用。
df = df.loc[:,~df.columns.duplicated()]

我想放弃A,A.1并保留A.2

请建议前进的方向。

最佳答案

IIUC ,您可以先删除点后的数字,然后只保留最后的重复项:

df.loc[:,~df.columns.str.replace('\.\d+','').duplicated(keep='last')]

关于python - 从 Pandas 中删除重复列读取 excel 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61515363/

相关文章:

python - 如何将 datetime64 数组转换为 int?

python - Numpy Pandas 删除异常值

dataframe - 转换数据框中的数据类型

python - 列的高效过滤

python - PyQt:在系统托盘应用程序中显示菜单

python - 如何访问滚动运算符中的多列?

python - 构建路径 - Google Drive SDK

python - 运行我的第一个Spark Python程序错误

python - 动态更新 pandas 列名称以避免代码更改

python - 其他行的日期时间上的 Pandas 数据框条件