计算没有年份的可能日期组合

时间:2016-02-04 14:09:41

标签: python numpy pandas

我正在尝试计算没有年份的可能日期组合,

输入:

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‌​'],....]

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)