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

Polars:无需分组调用.agg()实现单行聚合结果的方法

在Polars中无需分组直接执行单行聚合的方法

当然可以不用虚拟列实现单行聚合,Polars提供了两种更简洁的方式:

方法1:使用.select()配合聚合函数

直接在.select()中编写聚合表达式,Polars会将整个数据集作为一个整体计算,返回单行结果:

import polars as pl

df = pl.DataFrame({
    "a": [1, 2, 3, 4],
    "b": [10, 20, 30, 40]
})

# 计算a列的总和、b列的平均值
agg_result = df.select(
    pl.col("a").sum().alias("sum_a"),
    pl.col("b").mean().alias("mean_b")
)

执行后agg_result就是包含单行聚合结果的DataFrame。

方法2:直接调用.agg()方法

Polars的DataFrame对象支持直接调用.agg(),传入聚合表达式列表即可,无需提前分组:

agg_result = df.agg([
    pl.col("a").sum().alias("sum_a"),
    pl.col("b").mean().alias("mean_b")
])

这种方式和虚拟分组的效果完全一致,但代码更简洁,性能也更优(避免了虚拟列的创建和分组操作)。

这两种方法都能满足你“返回单行聚合结果”的需求,不用再绕弯子创建虚拟列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:44:57