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

获取Pandas数据集某列无重复值列表,是否有更优实现方法?

获取Pandas某列无重复值的更优方法

你当前使用的ds['col2'].value_counts().index.to_list()虽然能得到目标结果,但value_counts()会额外计算每个值的出现频次并默认按频次排序,对于仅需提取无重复值的场景,有更高效、直接的实现方式:

  • 使用unique()方法:这是Pandas专门用于提取唯一值的原生方法,无需额外计算频次,性能更优,尤其适配大数据集:

    ds['col2'].unique().tolist()
    

    该方法返回numpy数组,通过tolist()可转为普通列表,结果会保留值在原数据中第一次出现的顺序。

  • 使用drop_duplicates()方法:如果需要灵活控制去重规则(比如保留最后一次出现的重复值),可以用这个方法,它返回去重后的Series,再转成列表:

    ds['col2'].drop_duplicates().tolist()
    # 若要保留最后一次出现的重复值,可指定keep参数
    ds['col2'].drop_duplicates(keep='last').tolist()
    

对比来看:如果不需要按频次排序,上述两种方法都比value_counts()更高效;如果需要按出现频次排序,你当前的方法依然适用,但仅需去重的场景下,优先选择unique()或drop_duplicates()。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:45:49