加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Pandas-在重复年份的时间序列数据中添加缺失的年份

发布时间:2020-12-20 12:34:00 所属栏目:Python 来源:网络整理
导读:我有一个这样的数据集,其中缺少数年的数据. County Year Pop12 1999 1.112 2001 1.213 1999 1.013 2000 1.1 我想要类似的东西 County Year Pop12 1999 1.112 2000 NaN12 2001 1.213 1999 1.013 2000 1.113 2001 nan 我已经尝试将索引设置为年份,然后使用rein
我有一个这样的数据集,其中缺少数年的数据.

County Year Pop
12     1999 1.1
12     2001 1.2
13     1999 1.0
13     2000 1.1

我想要类似的东西

County Year Pop
12     1999 1.1
12     2000 NaN
12     2001 1.2
13     1999 1.0
13     2000 1.1
13     2001 nan

我已经尝试将索引设置为年份,然后使用reindex与另一个只有年数的数据框架(在这里提到Pandas: Add data for missing months),但它给了我错误cant reindex重复值.我也试过df.loc,但它有同样的问题.我甚至尝试了一个完整的外部连接,只有几年的空白df,但这也没有用.

我怎么解决这个问题?

解决方法

创建一个MultiIndex,这样就不会有重复项:

df.set_index(['County','Year'],inplace=True)

然后用所有组合构造一个完整的MultiIndex:

index = pd.MultiIndex.from_product(df.index.levels)

然后重新索引:

df.reindex(index)

MultiIndex的构造未经测试,可能需要稍微调整(例如,如果所有县完全没有一年),但我认为你明白了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读