我如何找到两个日期之间的所有星期日日期?

时间:2019-09-06 00:25:19

标签: python pandas

我有一个带有time-createdtime closed的数据框。

这两列都是pandas._libs.tslibs.timestamps.Timestamp对象。

赞:

time-created | time-closed 
 2018-01-01    2018-01-10
 2018-03-10    2018-04-15
     .             .
     .             .

我希望能够在一个单独的列上生成一个列表,该列表显示 ALL 的日期,该日期在星期日中,数据框。

类似这样的东西:

time-created | time-closed | Sunday_dates
 2018-01-01    2018-01-10    [2018-01-06]
 2018-03-10    2018-04-15    [2018-03-11, 2018-03-18, 2018-03-25]
     .             .
     .             .

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

尝试一下:

def sundays(row):
    s = pd.date_range(row['time-created'], row['time-closed'])
    return s[s.weekday == 6].to_list()

df['Sundays'] = df.apply(sundays, axis=1)

结果:

  time-created time-closed                                                                                                                         Sundays
0   2018-01-01  2018-01-10                                                                                                           [2018-01-07 00:00:00]
1   2018-03-10  2018-04-15  [2018-03-11 00:00:00, 2018-03-18 00:00:00, 2018-03-25 00:00:00, 2018-04-01 00:00:00, 2018-04-08 00:00:00, 2018-04-15 00:00:00]