Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python如何按季度获取日期_Python_Pandas_Python Dateutil - Fatal编程技术网

使用python如何按季度获取日期

使用python如何按季度获取日期,python,pandas,python-dateutil,Python,Pandas,Python Dateutil,使用python、pandas或dateutil,如何获得三个月周期的最后一个星期五,其中周期结束时间可能是4月。由于我的目标是“重点日期”,即本月最后一个星期五,交付周期为三个月,因此我可能需要将交付周期延长至六个月 SourceDate, Q1, Q2, Q3 2013-Jun-26 2013-Sep-20 2013-Aug-16 2013-Jul-19 2013-Jun-25 2013-Sep-20 2013-Aug-16 2013-Jul-19 2013-Jun-24 **2013-S

使用python、pandas或dateutil,如何获得三个月周期的最后一个星期五,其中周期结束时间可能是4月。由于我的目标是“重点日期”,即本月最后一个星期五,交付周期为三个月,因此我可能需要将交付周期延长至六个月

SourceDate, Q1, Q2, Q3

2013-Jun-26 2013-Sep-20 2013-Aug-16 2013-Jul-19
2013-Jun-25 2013-Sep-20 2013-Aug-16 2013-Jul-19
2013-Jun-24 **2013-Sep-20** 2013-Aug-16 2013-Jul-19
**2013-Jun-21** **2013-Jun-21** 2013-Aug-16 2013-Jul-19
2013-Jun-20 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-Jun-19 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-Jun-18 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-Jun-17 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-Jun-14 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-Jun-13 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-Jun-12 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-Jun-11 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-Jun-10 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-Jun-07 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-Jun-06 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-Jun-05 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-Jun-04 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-Jun-03 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-May-31 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-May-30 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-May-29 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-May-28 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-May-24 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-May-23 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-May-22 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-May-21 2013-Jun-21 2013-Aug-16 2013-Jul-19
2013-May-20 2013-Jun-21 **2013-Aug-16** 2013-Jul-19
**2013-May-17** 2013-Jun-21 **2013-May-17** 2013-Jul-19
2013-May-16 2013-Jun-21 2013-May-17 2013-Jul-19
2013-May-15 2013-Jun-21 2013-May-17 2013-Jul-19
2013-May-14 2013-Jun-21 2013-May-17 2013-Jul-19
2013-May-13 2013-Jun-21 2013-May-17 2013-Jul-19
2013-May-10 2013-Jun-21 2013-May-17 2013-Jul-19
2013-May-09 2013-Jun-21 2013-May-17 2013-Jul-19
2013-May-08 2013-Jun-21 2013-May-17 2013-Jul-19
2013-May-07 2013-Jun-21 2013-May-17 2013-Jul-19
2013-May-06 2013-Jun-21 2013-May-17 2013-Jul-19
2013-May-03 2013-Jun-21 2013-May-17 2013-Jul-19
2013-May-02 2013-Jun-21 2013-May-17 2013-Jul-19
2013-May-01 2013-Jun-21 2013-May-17 2013-Jul-19
2013-Apr-30 2013-Jun-21 2013-May-17 2013-Jul-19
2013-Apr-29 2013-Jun-21 2013-May-17 2013-Jul-19
2013-Apr-26 2013-Jun-21 2013-May-17 2013-Jul-19
2013-Apr-25 2013-Jun-21 2013-May-17 2013-Jul-19
2013-Apr-24 2013-Jun-21 2013-May-17 2013-Jul-19
2013-Apr-23 2013-Jun-21 2013-May-17 2013-Jul-19
2013-Apr-22 2013-Jun-21 2013-May-17 **2013-Jul-19**
**2013-Apr-19** 2013-Jun-21 2013-May-17 **2013-Apr-19**
2013-Apr-18 2013-Jun-21 2013-May-17 2013-Apr-19
2013-Apr-17 2013-Jun-21 2013-May-17 2013-Apr-19
2013-Apr-16 2013-Jun-21 2013-May-17 2013-Apr-19
2013-Apr-15 2013-Jun-21 2013-May-17 2013-Apr-19
2013-Apr-12 2013-Jun-21 2013-May-17 2013-Apr-19
2013-Apr-11 2013-Jun-21 2013-May-17 2013-Apr-19
2013-Apr-10 2013-Jun-21 2013-May-17 2013-Apr-19
2013-Apr-09 2013-Jun-21 2013-May-17 2013-Apr-19
我用
WeekOfMonth(weekday=4,weekday=2)
试过pandas
b Monthend
bGuarterend
,我不能滚动部分

编辑:



如果像我这样的人从谷歌来到这里,我发现这种方法更容易阅读:

d = datetime.now()
import pandas.tseries.offsets as offsets
print(d + offsets.QuarterEnd() - offsets.Week(weekday=4))

OP要求的季度(三个月)的最后一个星期五是哪一天?@falsetru,2013年5月15日的输出是错误的,第一个日期应该是6月21日,而不是5月17日。@Merlin,对不起,我不明白你的意思。我的答案/输出不包含“jun/21”和“may/27”。@Merlin,你的预期输出是什么?@falsetru,看问题看第三个星期五,第一列应该是基于(3,6,9,12)的三个月,第二列是基于月份的三个月(基于(2,5,8,11),第三列是基于月份的三个月(1,4,7,10)…但不是季度末,而是本期的第三个星期五。
>>> from dateutil.rrule import *
>>> list(rrule(MONTHLY, count=3, byweekday=FR, bysetpos=-1))
[datetime.datetime(2013, 7, 26, 22, 4, 20),
 datetime.datetime(2013, 8, 30, 22, 4, 20),
 datetime.datetime(2013, 9, 27, 22, 4, 20)]
>>> list(rrule(MONTHLY, count=12, byweekday=FR, bysetpos=-1))[::3]
[datetime.datetime(2013, 7, 26, 22, 15, 14),
 datetime.datetime(2013, 10, 25, 22, 15, 14),
 datetime.datetime(2014, 1, 31, 22, 15, 14),
 datetime.datetime(2014, 4, 25, 22, 15, 14)]
d = datetime.now()
import pandas.tseries.offsets as offsets
print(d + offsets.QuarterEnd() - offsets.Week(weekday=4))