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

Pandas实现单元格与分组聚合值运算的优化方法

优化实现方案

方案1:使用pandas原生groupby.transform(推荐,无需额外依赖)

transform 方法会将分组聚合后的结果按原数据的行顺序映射返回,不需要额外的表合并、临时列删除操作,代码更简洁,大数据量下性能远高于merge方案。
示例代码如下:

import pandas as pd
# 生成示例数据
df=pd.DataFrame({'Month':['October','October','October','November','November'], 'Apples Sold':[3,4,5,1,5]})
# 先计算分组均值避免重复聚合,性能更优
month_mean = df.groupby('Month')['Apples Sold'].transform('mean')
df['variaton_month'] = (df['Apples Sold'] - month_mean) / month_mean

方案2:超大数据量场景使用Polars

如果你的数据集达到千万行及以上规模,可以使用Polars库,其并行计算特性会比pandas有3~10倍的性能提升,示例代码如下:

import polars as pl
# 生成示例数据
df = pl.DataFrame({'Month':['October','October','October','November','November'], 'Apples Sold':[3,4,5,1,5]})
# 分组计算并新增列
df = df.with_columns(
    ((pl.col('Apples Sold') - pl.col('Apples Sold').mean().over('Month')) / pl.col('Apples Sold').mean().over('Month'))
    .alias('variaton_month')
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 01:18:02