Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.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_Numpy_Pandas - Fatal编程技术网

Python 计算不含年份的可能日期组合

Python 计算不含年份的可能日期组合,python,numpy,pandas,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, et

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

输入:

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

使用
itertools.compositions

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)

我不清楚您的问题,请显示所需的产量,年份在这里是否重要?例如闰年?用输入和输出编辑你只需要做
date\u range\u list=date\u range('1/1/2016',periods=365,freq='M').date.tolist()
请查看我想要的输出,我想要一个所有可能的日和月组合的列表,比如,如果日期范围是1月1日到1月4日,组合将是,['1/1',4/1','1','1/1','1','1','1/1','3/1'],[1/1'、[2/1']、[1/1'、[2/1'、[4/1']、[2/1'、[3/1']、[2/1'、[2/1'、[2/1']、…]@Alenthomas为什么要花这么长时间?它应该只有365^2个组合,即133225个组合