【发布时间】:2021-07-08 03:26:34
【问题描述】:
我想为当年每个月的第 N 个日历日创建一个 [返回] 熊猫系列日期时间值的 [函数]。一个额外的皱纹是,如果它恰好落在周末,我还需要它是前一个工作日。奖励将是检查已知的假期。
例如,我希望 [工作日早于或等于] 月 14 日的输出如下所示
0 2021-01-14
1 2021-02-12
2 2021-03-12
3 2021-04-14
4 2021-05-14
5 2021-06-14
6 2021-07-14
7 2021-08-13
8 2021-09-14
9 2021-10-14
10 2021-11-12
11 2021-12-14
我尝试使用 pd.date_range() 和 pd.bdate_range() 并没有得到想要的结果。示例:
pd.date_range("2021-01-14","2021-12-14", periods=12)
>> DatetimeIndex(['2021-01-14 00:00:00',
'2021-02-13 08:43:38.181818182',
'2021-03-15 17:27:16.363636364',
'2021-04-15 02:10:54.545454546',
'2021-05-15 10:54:32.727272728',
'2021-06-14 19:38:10.909090910',
'2021-07-15 04:21:49.090909092',
'2021-08-14 13:05:27.272727272',
'2021-09-13 21:49:05.454545456',
'2021-10-14 06:32:43.636363640',
'2021-11-13 15:16:21.818181820',
'2021-12-14 00:00:00'],
dtype='datetime64[ns]', freq=None)>>
此外,这需要知道作为开始和结束的第一个月和最后一个月的日子。使用 pd.bdate_range() 进行的类似测试主要导致错误。
【问题讨论】:
-
# 每月第 14 个日历日 pd.date_range('2021-01-01', period=12, freq='MS') + pd.DateOffset(days=13)
标签: python-3.x pandas