Python 识别DataFrame列中缺少的日期数据
我有一个像这样的数据框Python 识别DataFrame列中缺少的日期数据,python,pandas,Python,Pandas,我有一个像这样的数据框 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,
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_范围('2020-01-01',periods=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
谢谢,Yoben_S。我已经尝试过了,它为缺少的日期添加了NaN,这很好,但是d返回数据帧中的所有值,而不是带有NaN?@Ron d=d[d.isnull().any(1)]。index.to_frame()?我只是没有分配它~给你-对不起,我对你的解决方案太兴奋了。任务完成后,它能很好地工作。非常感谢。