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

如何无需声明列名即可移除PySpark DataFrame中的重复列

PySpark 移除重复列极简实现

你可以用和 pandas 逻辑对齐的一行代码实现需求,无需显式声明任何列名:

df = df.select(*list(dict.fromkeys(df.columns)))

补充说明

  • 该写法依赖Python 3.7及以上版本字典默认保留插入顺序的特性,会自动保留重复列名中第一次出现的列,丢弃后续重复列,效果和你使用的pandas写法完全一致
  • 若需要兼容更低Python版本,可以使用以下等价写法:
df = df.select(*[col for idx, col in enumerate(df.columns) if idx == df.columns.index(col)])

内容的提问来源于stack exchange,提问作者Nabih Bawazir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:57:01