虽然在循环日期

时间:2016-03-07 23:19:54

标签: python loops pandas

为什么这个while循环永远不会停止?

t = pd.to_datetime('2016.03.04')
T = pd.to_datetime('2019.09.04')
dates = T

while dates > t:

    dates = T- pd.DateOffset(years=1)
    print(dates)

请帮忙

2 个答案:

答案 0 :(得分:2)

问题在于你没有对偏移求和。

更改此行:

dates = T - pd.DateOffset(years=1)

到此:

dates -= pd.DateOffset(years=1)

答案 1 :(得分:2)

我想你想做这样的事情而不是循环:

dates =  pd.date_range('2016.03.04',periods=4,freq=pd.DateOffset(years=1))
print(dates)

输出:

DatetimeIndex(['2016-03-04', '2017-03-04', '2018-03-04', '2019-03-04'], dtype='datetime64[ns]', freq='<DateOffset: kwds={'years': 1}>')