我正在尝试计算没有年份的可能日期组合,
输入:
date_first = 1/1/2016,
date second = 31/12/2016
输出:在输出中我需要一个日期和月份的所有可能组合的列表,请参阅此示例。
01/01 to 12/31
01/01 to 12/30
01/01 to 12/29
01/01 to 12/28, etc.
...............
01/02 to 12/31
01/02 to 12/30
01/02 to 12/29
01/02 to 12/28, etc.
..............
12/31 to 12/31
我使用
计算年份范围rngs = date_range('1/1/2016', periods=365, freq='M')
date_range_list = [rng.date() for rng in rngs]
但是为了计算没有年份的可能日期组合,我需要运行两个需要很长时间的循环。所以如果有人知道请帮我解决这个问题。提前致谢。
让我更清楚地了解我遇到的问题:
我想要一个日期和月份的所有可能组合的列表,例如,如果输入日期范围是 2016年1月1日到2016年4月1日,组合输出将是:
[['1/1',4/1], ['1/1','3/1'],['1/1','2/1']['1/1','1/1'],['2/1','4/1'],['2/1','3/1'],['2/1','2/1'],....]
答案 0 :(得分:2)
使用itertools.combinations
:
from itertools import combinations
rngs = date_range('1/1/2016', periods=365, freq='M')
date_range_list = [rng.date() for rng in rngs]
result = combinations(date_range_list, 2)