繁体   English   中英

识别 Pandas DataFrame 列中缺失的日期数据

[英]Identify missing date data in a Pandas DataFrame column

我有一个看起来像这样的 DataFrame。

rnd_id Date     A  B  C  D
1    01/01/2020 2, 5, 8, 5
1    02/01/2020 4, 4, 3, 9
1    04/01/2020 2, 4, 8, 8
20   02/01/2020 3, 1, 2, 3
20   03/01/2020 6, 4, 4, 4
20   04/01/2020 5, 4, 3, 9
50   01/01/2020 6, 4, 2, 1
50   02/01/2020 8, 4, 3, 9
50   03/01/2020 3, 5, 5, 2
50   04/01/2020 2, 3, 3, 1

对于给定的 rnd_id,它应该在日期范围内的每个连续日期都有一行。 我想要做的是确定哪些数据行丢失。 所以对于 date_range('2020-01-01', period=4, freq='D'),它应该返回

rnd_id Date
1      03/01/2020
20     01/01/2020

我被卡住了,因为重复的日期数据导致重新索引不起作用。 有什么想法可以帮忙吗?

我们可以reindex

s=pd.date_range('2020-01-01', periods=4, freq='D')
d=df.set_index(['rnd_id','Date']).reindex(pd.MultiIndex.from_product([df.rnd_id.unique(),s]))
d[d.isnull().any(1)].index.to_frame()
                0          1
1  2020-01-03   1 2020-01-03
20 2020-01-01  20 2020-01-01

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM