我有一个看起来像这样的数据框:
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
尝试了option,here和here可以看到的内容,但是略有不同。我的目标是现在可以使用plotly绘制带有时间的条形图,但是现在对于一个省没有任何更新(即没有数据,条形图消失,并且需要它保留)的每个日期。>
感谢您的帮助。
答案 0 :(得分:3)
您可以使用set_index
省和日期的所有组合中的reindex
和MultiiIndex.from_product
和unique
,然后再选择groupby
省和{{ 1}},ffill
删除每个省首次出现的日期,每个日期dropna
(如有必要)和sort_index
删除,例如:
reset_index