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

多索引DataFrame按muni分组重采样并线性插值补全缺失年份

多索引DataFrame按组重采样并线性插值实现

需求说明

针对以muni和popDate为多层索引的DataFrame,需完成以下操作:

  • 按每个muni分组
  • 对popDate索引执行年度重采样(resample('A').mean()),补全缺失年份
  • 用线性插值替换生成的NaN值

模拟数据

先构造示例DataFrame:

import pandas as pd

interData = pd.DataFrame({
    'muni': ['Q1','Q1','Q1','Q2','Q2','Q2'],
    'popDate': ['2015','2021','2022','2015','2017','2022'],
    'population': [5,11,22,15,17,22]
})
interData['popDate'] = pd.to_datetime(interData['popDate'])
interData = interData.set_index(['muni','popDate'])

实现代码

通过groupby结合resample和interpolate完成需求:

# 按muni分组,对每个组执行年度重采样,再线性插值
result = interData.groupby('muni', group_keys=False).apply(
    lambda x: x.resample('A', level='popDate').mean().interpolate(method='linear')
)

print(result)

结果说明

执行后会得到每个muni从最早年份到最晚年份的完整年度数据,缺失年份的population值通过线性插值计算得出。例如Q1的2016-2020年数据会基于2015年的5和2021年的11线性填充,Q2的2016、2018-2021年数据基于2015、2017、2022年的值插值得到。

内容的提问来源于stack exchange,提问作者principal-ideal-domain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 00:10:35