我正在寻找一个函数,采取2个日期(入院和出院)和一个财政年度,并返回每个月这些日期之间的天数。在
财政年度为4月1日至3月31日
我目前有一个解决方案(如下),这是一个混乱的SPSS和Python,最终它将需要实现回SPSS,但作为一个更整洁的Python函数,不幸的是,这意味着它只能使用标准库(而不是Pandas)。在
例如
+-----------------+-----------------+------+--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ | Admission | Discharge | FY | | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | Jan | Feb | Mar | +-----------------+-----------------+------+--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ | 01 January 2017 | 05 January 2017 | 1617 | | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | | 01 January 2017 | 05 June 2017 | 1617 | | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 31 | 28 | 31 | | 01 January 2017 | 05 June 2017 | 1718 | | 30 | 31 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | 01 January 2017 | 01 January 2019 | 1718 | | 30 | 31 | 30 | 31 | 31 | 30 | 31 | 30 | 31 | 31 | 28 | 31 | +-----------------+-----------------+------+--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
相关-How to calculate number of days between two given dates?
当前解决方案(SPSS代码)
^{pr2}$
我想很多人的答案都是在OP给出}之间的天数,该天数在财政年度内(1819年为2018年4月1日至2019年3月31日)。显然,每个人都知道,天数需要按日历月份划分。在
fy
如何发挥作用的关键信息之前(edit:很多人都读过这个编辑,现在他们的答案也更新了)。OP需要admission
到{我能想到的唯一方法是循环每天并分析它所属的月份:
请注意,输出是一个
defaultdict
,因此,如果您向它询问任何月份中没有记录的天数(或任何键)(例如output['1999-12']
),它将返回0。还请注意,我对输出键使用了'%Y-%m'
格式。与使用最初请求的密钥类型('%b'
->;'Jan'
)相比,对输出进行排序和消除月份间的歧义变得更加容易。在首先,我建议使用
datetime.date
实例,这样您就可以在使用类似的方法之前解析日期:然后您可以使用类似的方法在日期范围内迭代:
^{pr2}$用法如下:
相关问题 更多 >
编程相关推荐