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

为DataFrame补全date列2002-2020缺失年份并填充对应列值

解决方案:补全DataFrame中2002-2020年缺失年份并填充对应列值

假设你的原始DataFrame名为df,可以通过以下步骤实现需求:

  • 生成2002到2020年的完整年份序列,创建包含country="Georgia"的基础DataFrame
  • 将基础DataFrame与原始DataFrame进行外连接,自动补全年份并保留已有数据
  • 缺失的party_count列会自动填充为NaN,无需额外操作

代码实现

import pandas as pd

# 生成2002-2020年的完整年份数据
full_year_df = pd.DataFrame({
    'date': range(2002, 2021),  # 2021为开区间,最终包含2002到2020所有年份
    'country': 'Georgia'
})

# 与原始DataFrame外连接,补全年份并合并数据
result_df = pd.merge(full_year_df, df, on=['date', 'country'], how='outer')

# 查看处理后的结果
print(result_df)

特殊情况处理

如果你的date列是datetime类型而非整数年份,只需调整基础DataFrame的生成方式:

# 生成datetime类型的完整年份序列(以每年最后一天为例)
full_year_df = pd.DataFrame({
    'date': pd.date_range(start='2002-12-31', end='2020-12-31', freq='Y'),
    'country': 'Georgia'
})

# 若需要将datetime转为整数年份,可添加以下行
full_year_df['date'] = full_year_df['date'].dt.year

# 再执行合并操作
result_df = pd.merge(full_year_df, df, on=['date', 'country'], how='outer')

处理完成后,所有2002-2020年的年份都会被补全,country列统一填充为Georgia,缺失的party_count值自动为NaN。

内容的提问来源于stack exchange,提问作者Julieta M.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 11:24:35