Python Polars如何删除重复列?附Pandas对应实现参考
Polars 删除重复列的实现方法
注:以下代码默认已导入Polars库并设置别名为
pl,即import polars as pl
你可以根据实际需求选择以下两种常用方案:
1. 按列名删除重复列(对应你使用的 Pandas 实现逻辑)
和 Pandas 的处理逻辑完全一致,先对列名生成重复标记,再筛选出非重复列即可:
- Polars 原生写法:
df = df.select(~pl.Series(df.columns).is_duplicated())
其中pl.Series(df.columns).is_duplicated()会返回标记重复列名的布尔数组,和 Pandas 中的df.columns.duplicated()功能完全对应。 - Python 原生简洁写法(自动保留列的原始出现顺序):
df = df.select(dict.fromkeys(df.columns).keys())
2. 按列内容删除重复列(列名不同但内容完全一致的列也会被删除)
如果需要去除内容完全相同的重复列,可以直接调用Polars内置的列去重方法:
df = df.select(pl.all().unique(maintain_order=True))
参数maintain_order=True会保证保留第一个出现的非重复列,维持原表的列顺序。
内容的提问来源于stack exchange,提问作者bloukanov
相关产品推荐
相关产品推荐

