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

如何使用Python对DataFrame指定不同行取平均值以降低时间分辨率

Pandas时序数据降采样至天粒度解决方案

假设你要处理的DataFrame中存储时间的列名为timestamp,其余列均为需要计算均值的数值型字段,按以下步骤操作即可:

  1. 先将时间列转换为pandas支持的datetime格式
import pandas as pd
# 转换时间列格式
df['timestamp'] = pd.to_datetime(df['timestamp'])
  1. 按天聚合取均值,两种常用方法二选一即可:
  • 方法1:重采样法(适合时间作为索引的场景)
# 将时间列设为索引后按天重采样,计算所有数值列均值
df_daily = df.set_index('timestamp').resample('D').mean().reset_index()
# 若不需要输出时间中的时分秒信息,可追加以下代码转换为纯日期格式
df_daily['timestamp'] = df_daily['timestamp'].dt.date
  • 方法2:分组法(适配所有场景)
# 提取纯日期作为分组键
df['date'] = df['timestamp'].dt.date
# 按日期分组计算均值,自动忽略非数值列
df_daily = df.groupby('date', as_index=False).mean()

注意事项

  • 若存在不需要参与均值计算的非数值列,可在聚合前先筛选需要保留的列:df = df[['timestamp', '需要计算的列1', '需要计算的列2']]
  • 默认mean()计算会自动跳过空值,若需要排除包含空值的行再计算,可提前执行df = df.dropna()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:42:02