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

Pandas重采样dataframe补全缺失周数并将新增行填充为0的方法

实现方法

你用pd.resample没生效是因为该方法要求索引为datetime类型的时间序列,你的周数是整数列,用以下两种更简单的方案即可实现,无需手动写循环:

方案1:用reindex实现(性能最优)

import pandas as pd

# 1. 生成22到48的完整周序列作为目标索引
full_week_index = pd.RangeIndex(start=22, stop=49, name="week")
# 2. 将原df的周列设为索引,重排后填充缺失值为0,最后重置索引恢复列结构
result = df.set_index("week").reindex(full_week_index, fill_value=0).reset_index()

方案2:用merge实现(逻辑更直观)

import pandas as pd

# 1. 生成包含所有周数的辅助df
full_week_df = pd.DataFrame({"week": range(22, 49)})
# 2. 左连接原df,缺失值填充为0,同时保持value列为整数类型
result = pd.merge(full_week_df, df, on="week", how="left").fillna(0).astype({"value": int})

两种方法得到的结果都会自动补全27、28等缺失周,对应value值为0,周数顺序保持升序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:45:03