填写几个组的缺失日期和值-熊猫

时间:2020-05-13 14:56:31

标签: python pandas

我有一个看起来像这样的数据框:

    province    date        D I R C
360 Incheon     2020-01-20  0 0 1 1
455 Seoul       2020-01-23  0 0 1 1
183 Gyeonggi-do 2020-01-26  0 0 1 1
184 Gyeonggi-do 2020-01-27  0 0 2 2
456 Seoul       2020-01-30  0 0 4 4

我需要在第一天之后的第二天(在这种情况下为2020-01-20),每个省都有“最后一次看到的行”,以防该日期没有更新。因此,在我的示例中,我希望将其作为结果df:

    province    date        D I R C
1   Incheon     2020-01-20  0 0 1 1

2   Incheon     2020-01-23  0 0 1 1
3   Seoul       2020-01-23  0 0 1 1

4   Gyeonggi-do 2020-01-26  0 0 1 1
5   Incheon     2020-01-26  0 0 1 1
6   Seoul       2020-01-26  0 0 1 1

7   Gyeonggi-do 2020-01-27  0 0 2 2
8   Incheon     2020-01-27  0 0 1 1
9   Seoul       2020-01-27  0 0 1 1

10  Seoul       2020-01-30  0 0 4 4
11  Gyeonggi-do 2020-01-30  0 0 2 2
12  Incheon     2020-01-30  0 0 1 1

尝试了optionherehere可以看到的内容,但是略有不同。我的目标是现在可以使用plotly绘制带有时间的条形图,但是现在对于一个省没有任何更新(即没有数据,条形图消失,并且需要它保留)的每个日期。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您可以使用set_index省和日期的所有组合中的reindexMultiiIndex.from_productunique,然后再选择groupby省和{{ 1}},ffill删除每个省首次出现的日期,每个日期dropna(如有必要)和sort_index删除,例如:

reset_index