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

如何在Polars Series中统计排除空值的唯一值数量?

在Polars中统计Series非空唯一值数量的最优方法

直接使用Series的n_unique()方法并设置drop_nulls=True参数是最优方案,这是Polars原生支持的高效实现,无需额外中间步骤。

示例代码

import polars as pl

series = pl.Series([1, 2, None, 4, 2, 4, None])
unique_count = series.n_unique(drop_nulls=True)
print(unique_count)  # 输出: 3

其他可行方式(性能略逊)

如果习惯先过滤空值再统计,也可以先调用drop_nulls()再统计唯一值,但这种方式多了一步中间操作,大数据量下效率不如前者:

unique_count = series.drop_nulls().n_unique()
print(unique_count)  # 输出: 3

为什么第一种方法最优

n_unique(drop_nulls=True)在Polars底层会将空值过滤和唯一值统计合并为一个操作,避免了生成中间Series的开销,处理大规模数据时性能优势更明显。

内容的提问来源于stack exchange,提问作者Míriam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 21:33:11