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

Python中批量为DataFrame各列生成累计标准差计算列的实现方法

实现方案

你可以直接使用Pandas的expanding扩展窗口接口批量完成计算,该接口会自动取从数据集首行到当前行的所有值作为统计窗口,完美匹配你的累计计算需求。

完整实现代码

import pandas as pd

# 1. 批量计算所有列的累计标准差
# ddof=0代表计算总体标准差,若需要样本标准差可改为ddof=1
sd_result = df.expanding(min_periods=1).std(ddof=0)
# 2. 按规则重命名新列
sd_result.columns = [f'SD{col}' for col in sd_result.columns]
# 3. 单行数据的标准差默认返回NaN,按要求填充为0
sd_result = sd_result.fillna(0)
# 4. 合并计算结果到原DataFrame
df = pd.concat([df, sd_result], axis=1)

精简写法

如果需要更简洁的代码,可以合并为单步实现:

df = pd.concat([df, df.expanding(1).std(ddof=0).add_prefix('SD').fillna(0)], axis=1)

结果验证

可以单独提取A列和对应的累计标准差列,检查计算是否符合预期:

print(df[['A', 'SDA']].head())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:42:01