Polars Python中与R的glimpse、summary对等的函数是什么?
Polars中等效R语言glimpse、summary函数的实现方案
1. 等效R glimpse() 实现
R的glimpse()核心用于快速查看数据集行列规模、各列数据类型、前若干个样本值,Polars 0.16.0及以上版本已经内置了同名方法,直接调用即可:
import polars as pl # 示例DataFrame df = pl.DataFrame({ "id": [1,2,3,4,5,6], "category": ["A","B","A","C","B","A"], "value": [12.3, 45.6, None, 78.9, 23.4, 56.7], "is_valid": [True, True, False, True, None, False] }) # 直接调用glimpse方法 df.glimpse()
输出效果和R的glimpse完全对齐,会逐列打印字段名、数据类型、前N个样本值。如果你使用的是低于0.16.0的旧版本Polars,可以自行遍历列实现相同逻辑。
2. 等效R summary() 实现
R的summary()用于输出全列的描述性统计结果,Polars内置的describe()方法可以直接实现相同效果:
# 直接输出全量统计结果 df.describe()
describe()会自动适配不同列类型返回对应统计值:
- 数值列:返回计数、缺失值数、最小值、25/50/75分位数、平均值、最大值、标准差
- 字符串/分类列:返回计数、缺失值数、唯一值数、出现频次最高的取值及对应频次
- 布尔列:返回计数、缺失值数、True/False的占比/计数
如果需要自定义统计维度,比如新增缺失值占比、偏度、峰度等指标,可以自己拼接统计逻辑:
# 自定义扩展统计汇总 df.select( pl.all().map(lambda c: pl.struct( pl.lit(c.name).alias("column_name"), pl.lit(c.dtype).alias("dtype"), c.null_count().alias("null_count"), (c.null_count()/len(df)).round(4).alias("null_ratio"), c.n_unique().alias("unique_count"), c.min().alias("min"), c.mean().alias("mean"), c.median().alias("median"), c.max().alias("max"), c.std().alias("std") )) ).unnest("all")
如果需要单独查看某列的频数分布,可以使用value_counts()方法:
# 查看category列的各类别频数 df.get_column("category").value_counts()
内容的提问来源于stack exchange,提问作者aajkaltak
相关产品推荐
相关产品推荐

