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

如何在PySpark中按每n行分组求平均值(分钟转小时场景)

解决方案

假设你的DataFrame第一列名为minute(存储0-1439的分钟数),第二列名为value(待求均值的整数数值),可以通过以下步骤实现按小时聚合:

  • 步骤1:生成小时列
    利用整数除法将分钟数转换为对应小时(0-23):

    df['hour'] = df['minute'] // 60
    
  • 步骤2:按小时分组求均值
    使用groupby按小时分组,计算value列的平均值,最后通过reset_index()将结果转为标准DataFrame格式:

    hourly_avg_df = df.groupby('hour')['value'].mean().reset_index()
    
  • 可选:调整列名(按需)
    如果需要更清晰的列名,可修改为:

    hourly_avg_df.columns = ['hour', 'hourly_average']
    

特殊情况处理

如果你的minute列是时间字符串格式(如"00:00"、"12:30"),先转成datetime类型再提取小时:

df['hour'] = pd.to_datetime(df['minute'], format='%H:%M').dt.hour

最终得到的hourly_avg_df就是24行2列的DataFrame,第一列是0-23的小时数,第二列是对应小时内60个分钟数值的平均值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 02:24:12