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

Python中基于年度小时维度的数组均值计算问题

问题与需求
  • 现有两组数据:
    1. Numpy 3D数组volume:形状为(1, 87648, 100),数据类型为float64;
    2. Pandas DatetimeIndex数组datetime_array:形状为(87648,)。
  • 数据关联:volume沿axis=1的维度与datetime_array的逐小时时序一一对应,总时长为10年(包含2个闰年),总数据量计算方式为8760*8 + 8784*2 = 87648,无夏令时,每天固定24个数据点。
  • 计算目标:生成跨10年的年度小时均值数组——对10年中每年的同一时刻(如每年1月1日0点、1月1日1点……)的数据取平均,最终输出形状为(1, 8784, 100)的float64类型3D数组。其中2月29日的24个小时各基于2个数据点求平均,其余小时基于10个数据点。
现有尝试代码(存在问题)
hour_of_year = np.array([dt.hour + (dt.dayofyear - 1) * 24 for dt in datetime_array])
volume_by_hour = np.reshape(volume, (volume.shape[0], volume.shape[1] / 24, volume.shape[2], 24))
profile = np.array([np.mean(group, axis=0) for i, group in np.ndenumerate(volume)]).reshape(???)

当前代码问题:首行计算年度小时数时未区分平年与闰年,导致平年的1417-1440小时对应3月1日,而闰年对应2月29日;若处理闰年逻辑过于复杂,可忽略该区分。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 14:22:08