不再支持使用时间戳对整数和整数数组进行加/减。而不是加减n,使用n * obj.freq

我正在使用pytrends库提取Google趋势,但出现以下错误:

不再支持使用时间戳对整数和整数数组进行加/减。不用添加/减去n,而是使用n * obj.freq

timeframes = []
datelist = pd.date_range('2004-01-01','2018-01-01',freq="AS")
date = datelist[0]
while date <= datelist[len(datelist)-1]:
    start_date = date.strftime("%Y-%m-%d")
    end_date = (date+4).strftime("%Y-%m-%d")
    timeframes.append(start_date+' '+end_date)
    date = date+3
yueling195712 回答:不再支持使用时间戳对整数和整数数组进行加/减。而不是加减n,使用n * obj.freq

您可能不总结日期和数字,例如date+4,因为谁知道4h4d4m,...是哪个单位?

您可以使用datetime.timedelta,如果您的意思是days

,请参见以下示例
end_date = (date+timedelta(days=4)).strftime("%Y-%m-%d")
# ...
date = date+timedelta(days=3)
,

既然您已经使用过熊猫,为什么还要麻烦进口其他东西呢?您可以这样做:

import pandas as pd                                            # your code
date = pd.date_range('2004-01-01','2018-01-01',freq="AS")    # your code

freq = 'D'                                                     # 'H' for hours,etc.
date = date + pd.Timedelta(3,unit=freq)                       # Perform the action
print(date)

输出(与azro的答案相同):

DatetimeIndex(['2004-01-04','2005-01-04','2006-01-04','2007-01-04','2008-01-04','2009-01-04','2010-01-04','2011-01-04','2012-01-04','2013-01-04','2014-01-04','2015-01-04','2016-01-04','2017-01-04','2018-01-04'],dtype='datetime64[ns]',freq=None)

使用此方法的另一个原因是,您可能会遇到以下情况:将动态内容添加到日期中(例如,在方法内部),并且将单位作为参数传递。

如果您使用的是timedelta(days=3),则只能更改几天(小时,分钟等),而不能更改其他任何内容!

本文链接:https://www.f2er.com/2465569.html

大家都在问