Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.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 如何在timeseries数据帧中获得下一个可用日期_Python_Pandas_Datetime - Fatal编程技术网

Python 如何在timeseries数据帧中获得下一个可用日期

Python 如何在timeseries数据帧中获得下一个可用日期,python,pandas,datetime,Python,Pandas,Datetime,我有以下日期清单: DatetimeIndex(['2015-11-19', '2015-12-17', '2015-12-23', '2016-01-19', '2016-01-22', '2016-01-29', '2016-02-05', '2016-02-15', '2016-02-18', '2016-03-01', ... '2020-07-17', '2020-0

我有以下日期清单:

DatetimeIndex(['2015-11-19', '2015-12-17', '2015-12-23', '2016-01-19',
               '2016-01-22', '2016-01-29', '2016-02-05', '2016-02-15',
               '2016-02-18', '2016-03-01',
               ...
               '2020-07-17', '2020-07-20', '2020-07-21', '2020-07-28',
               '2020-08-04', '2020-08-18', '2020-09-10', '2020-09-25',
               '2020-09-28', '2020-10-01'],
              dtype='datetime64[ns]', name='Date', length=137, freq=None)

我从
df
上的操作中获得了这些日期,我还有
df2
,它也有这些日期,但下一个日期不是
timedelta(day=1)
。因此,例如,第一个日期是
2015-11-19
,但下一个日期可能是
2015-11-22
。由于日期是索引值,如何获取下一个可用日期?

创建一个与索引相等的新列,并
.shift()
。确保先对索引进行排序

import pandas as pd
df = pd.DataFrame({'Date' : ['2015-11-19', '2015-12-17', '2015-12-23', '2016-01-19',
               '2016-01-22', '2016-01-29', '2016-02-05', '2016-02-15',
               '2016-02-18', '2016-03-01',
               '2020-07-17', '2020-07-20', '2020-07-21', '2020-07-28',
               '2020-08-04', '2020-08-18', '2020-09-10', '2020-09-25',
               '2020-09-28', '2020-10-01']}).set_index('Date')
df['Next Date'] = df.index
df['Next Date'] = df['Next Date'].shift(-1)
df
Out[1]: 
             Next Date
Date                  
2015-11-19  2015-12-17
2015-12-17  2015-12-23
2015-12-23  2016-01-19
2016-01-19  2016-01-22
2016-01-22  2016-01-29
2016-01-29  2016-02-05
2016-02-05  2016-02-15
2016-02-15  2016-02-18
2016-02-18  2016-03-01
2016-03-01  2020-07-17
2020-07-17  2020-07-20
2020-07-20  2020-07-21
2020-07-21  2020-07-28
2020-07-28  2020-08-04
2020-08-04  2020-08-18
2020-08-18  2020-09-10
2020-09-10  2020-09-25
2020-09-25  2020-09-28
2020-09-28  2020-10-01
2020-10-01         NaN