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

气象数据时间频率从3小时转1小时的高效实现方案问询

问题:补全多城市气象数据的小时间隔并填充缺失值

数据背景

我有多城市、大样本量的气象数据,当前数据时间间隔为3小时,字段包括date、hour、city、condition、snow、rain,前3行数据如下:

datehourcityconditionsnowrain
2023-01-303berlinsnow10
2023-01-306berlinrain01
2023-01-309berlinclear00

需求目标

需要补全缺失的小时行,并用最邻近的同date、city的数值填充,目标DataFrame如下:

datehourcityconditionsnowrain
2023-01-303berlinsnow10
2023-01-304berlinsnow10
2023-01-305berlinsnow10
2023-01-306berlinrain01
2023-01-307berlinrain01
2023-01-308berlinrain01
2023-01-309berlinclear00
2023-01-3010berlinclear00
2023-01-3010berlinclear00

尝试过的无效方案

我试过以下代码,不仅没得到正确结果,而且处理大数据量时效率极低:

df_expanded = df.set_index(['date', 'city', 'condition'])
                .hour.unstack().reset_index().melt(id_vars=['date', 'city', 'condition'], value_name='hour')
                .dropna()
                .drop(columns=['variable'])
df_expanded = df_expanded.sort_values(by=['date', 'city', 'condition', 'hour'])
                        .ffill()

result = df_expanded.merge(df, on=['date', 'city', 'condition', 'hour'], how='left')
                    .dropna()
                    .drop_duplicates()

寻求解决方案

需要一个更简单、高效的处理方案,适配大样本量的多城市数据场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 02:50:27