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

如何统计Pandas DataFrame中某列仅出现一次的唯一值数量?

统计Pandas DataFrame中某列仅出现一次的值的数量

要统计DataFrame某列中仅出现一次的值的数量,你可以借助value_counts()方法先统计每个值的出现频次,再筛选出频次为1的项并计数,具体实现如下:

核心步骤

  1. 使用df['列名'].value_counts()获取该列每个值的出现次数,返回结果是一个Series(索引为列值,值为对应出现次数);
  2. 筛选出其中次数等于1的项,再用count()统计这些项的数量。

针对你的示例代码实现

import pandas as pd
technologies = {
    'Courses':["Spark","PySpark","Python","Pandas","Python","Spark","Pandas","AWS","Spark"],
    'Fee' :[20000,25000,22000,30000,25000,20000,30000,50000,20000],
    'Duration':['30days','40days','35days','50days','40days','30days','50days','90days','30days'],
    'Discount':[1000,2300,1200,2000,2300,1000,2000,1500,1000]
              }
df = pd.DataFrame(technologies)

# 统计Discount列仅出现一次的值的数量
counts = df['Discount'].value_counts()
unique_once_count = counts[counts == 1].count()
print(unique_once_count)  # 输出:2

一行式简化写法

如果你喜欢更简洁的代码,可以把步骤合并为一行:

unique_once_count = df['Discount'].value_counts()[lambda x: x == 1].count()

额外:获取仅出现一次的值本身

如果需要拿到这些仅出现一次的值的列表,可以这样做:

unique_once_values = counts[counts == 1].index.tolist()
print(unique_once_values)  # 输出:[1200, 1500]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 02:06:24