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

如何在Pandas中统计含"M22"的唯一RUN_NUMBER行数量?

统计包含特定字符串的唯一RUN_NUMBER数量

我有一个多列数据集,已经筛选出了RUN_NUMBER列包含字符串"M22"的DataFrame切片。现在需要统计其中唯一RUN_NUMBER值的数量,示例数据中期望输出结果为3。

示例数据

RUN_NUMBER  DATE_TIME   CULTURE_DAY AGE_HRS AGE_DAYS
335991M     6/30/2022   0           0       0
M220621     7/1/2022    1           24      1
M220678     7/2/2022    2           48      2
510091M     7/3/2022    3           72      3
M220500     7/4/2022    4           96      4
335991M     7/5/2022    5           120     5
M220621     7/6/2022    6           144     6
M220678     7/7/2022    7           168     7
335991M     7/8/2022    8           192     8
M220621     7/9/2022    9           216     9
M220678     7/10/2022   10          240     10

已得到的分组计数结果

RUN_NUMBER
335991M      0
510091M      0
335992M      0
M220621      3
M220678      3
M220500      1

解决方案

直接通过筛选+唯一值统计即可得到结果:

分步实现

  1. 筛选出RUN_NUMBER包含"M22"的行:
filtered_df = df[df['RUN_NUMBER'].str.contains('M22')]
  1. 统计该切片中RUN_NUMBER的唯一值数量:
unique_count = filtered_df['RUN_NUMBER'].nunique()
print(unique_count)  # 输出:3

一步到位

也可以合并成一行代码:

unique_count = df[df['RUN_NUMBER'].str.contains('M22')]['RUN_NUMBER'].nunique()

说明:str.contains('M22')用于匹配包含指定字符串的行,nunique()方法直接统计列中唯一值的个数,正好对应需要的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 23:30:45