最接近的答案是下面的链接。
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/