【发布时间】:2018-12-20 22:14:52
【问题描述】:
我有一个带有 multiindex 的 pandas 数据框,如下所示:
TALLY
DAY NODE CLASS
2018-02-04 pdk2r08o005 3 7.0
2018-02-05 pdk2r08o005 3 24.0
2018-02-06 dsvtxvCsdbc02 3 2.0
pdk2r08o005 3 28.0
2018-02-07 pdk2r08o005 3 24.0
2018-02-08 dsvtxvCsdbc02 3 3.0
pdk2r08o005 3 24.0
2018-02-09 pdk2r08o005 3 24.0
2018-02-10 dsvtxvCsdbc02 3 2.0
pdk2r08o005 3 24.0
2018-02-11 pdk2r08o005 3 31.0
2018-02-12 pdk2r08o005 3 24.0
2018-02-13 pdk2r08o005 3 20.0
2018-02-14 dsvtxvCsdbc02 3 4.0
pdk2r08o005 3 24.0
2018-02-15 dsvtxvCsdbc02 3 2.0
pdk2r08o005 3 24.0
2018-02-16 dsvtxvCsdbc02 3 121.0
pdk2r08o005 3 26.0
2018-02-17 dsvtxvCsdbc02 3 401.0
pdk2r08o005 3 24.0
2018-02-18 dsvtxvCsdbc02 3 327.0
pdk2r08o005 3 24.0
2018-02-19 dsvtxvCsdbc02 3 164.0
pdk2r08o005 3 24.0
2018-02-20 dsvtxvCsdbc02 3 26.0
pdk2r08o005 3 38.0
2018-02-21 pdk2r08o005 3 24.0
2018-02-22 pdk2r08o005 3 24.0
2018-02-23 pdk2r08o005 3 24.0
...
2018-03-01 pdk2r08o005 3 24.0
2018-03-02 pdk2r08o005 3 24.0
2018-03-03 pdk2r08o005 3 24.0
2018-03-04 pdk2r08o005 3 36.0
2018-03-05 pdk2r08o005 3 24.0
2018-03-06 dsvtxvCsdbc02 3 2.0
pdk2r08o005 3 24.0
2018-03-07 dsvtxvCsdbc02 3 8.0
pdk2r08o005 3 24.0
2018-03-08 pdk2r08o005 3 31.0
2018-03-09 pdk2r08o005 3 24.0
2018-03-10 pdk2r08o005 3 24.0
2018-03-11 dsvtxvCsdbc02 3 2.0
pdk2r08o005 3 39.0
2018-03-12 pdk2r08o005 3 24.0
2018-03-13 pdk2r08o005 3 24.0
2018-03-14 dsvtxvCsdbc02 3 4.0
pdk2r08o005 3 24.0
2018-03-15 dsvtxvCsdbc02 3 2.0
pdk2r08o005 3 24.0
2018-03-16 dsvtxvCsdbc02 3 2.0
pdk2r08o005 3 24.0
2018-03-17 dsvtxvCsdbc02 3 4.0
pdk2r08o005 3 24.0
2018-03-18 dsvtxvCsdbc02 3 12.0
9 2.0
pdk2r08o005 3 24.0
2018-03-19 pdk2r08o005 3 44.0
2018-03-20 pdk2r08o005 3 24.0
2018-03-21 pdk2r08o005 3 18.0
[68 行 x 1 列]
在这个数据集中“DAY”,“NODE”和“CLASS”是索引的一部分。
现在我必须在“DAY”栏中填写一些缺失的日期。
喜欢:
date_range = pd.date_range('02-06-2018','03-18-2018')
indices = pd.MultiIndex.from_product(dataset.index.levels)
如何使用这个 date_range 将日期添加到数据集的索引中?
【问题讨论】:
-
MultiIndex 是不可变的,因此您可能希望生成一个新的数据帧并用该数据帧中的数据填充它。
-
可以使用 dataset.reindex() 来达到同样的效果吗?