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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:15:04