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

Python 而循环不';循环浏览日期时不要停止

Python 而循环不';循环浏览日期时不要停止,python,loops,pandas,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) 请帮助问题在于没有对偏移量求和 更改此行: dates = T - pd.DateOffset(years=1) 为此: dates -= pd.Date

为什么这个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)

请帮助

问题在于没有对偏移量求和

更改此行:

dates = T - pd.DateOffset(years=1)
为此:

dates -= pd.DateOffset(years=1)

我想你应该这样做,而不是循环:

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}>')
DatetimeIndex(['2016-03-04','2017-03-04','2018-03-04','2019-03-04',dtype='datetime64[ns]',freq='')

因为您的条件始终为真;)将其更改为:
dates-=pd.DateOffset(years=1)
作为一条一般性建议,我建议不要在这里创建只在大小写(
t
t
)上不同的变量,因为这将使读者非常困惑(以及可读性计数)。