2016-03-07 117 views
3

爲什麼while循環永不停止?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) 

請幫

+0

因爲您的條件總是爲真;) – MaxU

+1

將其更改爲:'日期 - = pd.DateOffset(年= 1)' – MaxU

+0

作爲一般性建議,我建議不要創建僅在大小寫不同的變量'和'T'),因爲這會讓讀者感到困惑(和*可讀性*)。 – Carpetsmoker

回答

2

的問題是,你不總結的偏移量。

改變這一行:

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

這樣:

dates -= pd.DateOffset(years=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}>')