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

如何为每日分组的时间序列数据计算var列标准差并新增std列?

按日期计算var列标准差并添加新列的实现方法

1. 确保时间列格式正确

首先需要确认timestamp列是datetime类型,如果原始数据中该列是字符串,先做格式转换:

import pandas as pd

# 转换timestamp为datetime格式
df['timestamp'] = pd.to_datetime(df['timestamp'])

2. 分组计算并生成std列

使用groupby结合transform方法,直接将每个日期对应的var列标准差映射到原数据的每一行:

# 按日期分组计算标准差,保留1位小数匹配示例格式
df['std'] = df.groupby(df['timestamp'].dt.date)['var'].transform(lambda x: round(x.std(), 1))

关键逻辑说明

  • df['timestamp'].dt.date:从时间戳中提取纯日期部分作为分组依据,确保同一天的所有数据被归为一组。
  • transform:将分组计算出的标准差结果自动广播回原数据的每一行,实现同一日期的所有行共享同一个标准差数值。
  • round(x.std(), 1):计算标准差后保留1位小数,和示例输出的格式完全匹配。

结果验证

  • 2020-10-10的var值为[10,20,30],计算得标准差≈8.2,与示例一致。
  • 2020-10-11的var值为[15,50,5],计算得标准差≈19.3,与示例一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:23:12