首页 > 解决方案 > 周日日期插补

问题描述

    Date
0   06-03-16
1   08-05-16
2   15-05-16
3   22-05-16
4   29-05-16
5   05-06-16
6   31-07-16

我有上述日期,但在 06-03-16 和 08-05-16 之间缺少一些日期。每个日期都是星期天,缺少的日期也是星期天。如何在熊猫数据框中估算缺少的周日日期?

标签: pythonpandas

解决方案


您可以使用分别pd.date_range选择最小和最大日期作为startend,并设置freq='W-SUN'

pd.DataFrame(pd.date_range(start=min(df.Date), end=max(df.Date), 
                           freq='W-SUN').strftime('%d-%m-%Y').tolist(), 
                           columns = ['Date'])

       Date
0   06-03-2016
1   13-03-2016
2   20-03-2016
3   27-03-2016
4   03-04-2016
5   10-04-2016
6   17-04-2016
7   24-04-2016
8   01-05-2016
9   08-05-2016
10  15-05-2016
11  22-05-2016
12  29-05-2016
13  05-06-2016
14  12-06-2016
15  19-06-2016
16  26-06-2016
17  03-07-2016
18  10-07-2016
19  17-07-2016
20  24-07-2016
21  31-07-2016

确保Date 列的datetime 格式为:

df.Date = pd.to_datetime(df.Date, format='%d-%m-%y')

推荐阅读