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

如何在按Code分组的DataFrame索引中插入缺失的全量日期

Pandas分组补全全量日期实现方案

该需求可以通过Pandas的多级索引重索引功能轻松实现,具体步骤如下:

  • 第一步:预处理原数据,将日期索引转换为datetime格式
# 确保Date索引为datetime类型
df.index = pd.to_datetime(df.index)
  • 第二步:生成全局日期范围(覆盖所有数据的最小到最大月末日期)
min_date = df.index.min()
max_date = df.index.max()
# 生成按月末对齐的全量日期序列
all_dates = pd.date_range(start=min_date, end=max_date, freq='M')
  • 第三步:构造全量日期+Code的笛卡尔积索引
# 获取所有唯一的Code值
all_codes = df['Code'].unique()
# 构造双级索引,顺序与原数据索引逻辑对齐
full_index = pd.MultiIndex.from_product(
    [all_dates, all_codes],
    names=['Date', 'Code']
)
  • 第四步:重索引补全缺失值并调整格式
# 将原数据转为双索引后重索引,补全缺失值为NaN
result = df.set_index('Code', append=True)\
           .reindex(full_index)\
           .reset_index(level='Code')\
           .sort_values(by=['Code', 'Date'])

运行以上代码得到的result即为你需要的期望输出格式,所有Code都会覆盖全局最小到最大的全部月末日期,无统计值的Count字段自动填充为NaN。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:39:03