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

如何在Python中查看DataFrame所有列的唯一值?

获取DataFrame所有列的唯一值方法

针对大DataFrame批量获取各列唯一值,有几种实用方法:

  • 直接批量获取所有列唯一值
    用apply()方法结合pd.unique(),一行代码就能返回各列的唯一值集合:

    import pandas as pd
    unique_values = df.apply(pd.unique)
    

    结果是一个Series,索引为原DataFrame的列名,每个元素对应该列的唯一值数组。如果需要转为字典格式方便查看,可追加.to_dict():

    unique_values_dict = df.apply(pd.unique).to_dict()
    
  • 先筛选再查看(适合超大型数据集)
    先通过nunique()获取各列唯一值的数量,快速定位需要重点查看的列(比如唯一值数量为1的冗余列,或数量接近行数的高基数列):

    column_unique_counts = df.nunique()
    

    之后再针对感兴趣的列单独用unique(),比如筛选出唯一值数量在2到10之间的列:

    target_columns = column_unique_counts[(column_unique_counts >=2) & (column_unique_counts <=10)].index
    target_unique_values = df[target_columns].apply(pd.unique)
    

    这种方式能避免一次性加载所有列的唯一值,节省内存。

  • 获取带频率排序的唯一值
    如果想同时看到各唯一值的出现频率,可结合value_counts():

    unique_values_with_counts = df.apply(lambda x: x.value_counts().reset_index().values.tolist())
    

    返回的结果中,每个元素是该列的(值,计数)列表,按计数从高到低排序,能更直观判断列的信息价值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:35:16