不再支持带时间戳的整数和整数数组的加法/减法。而不是添加/减去`n`

我正在使用 pytrends 库来提取谷歌趋势,我收到以下错误:


不再支持带时间戳的整数和整数数组的加法/减法。而不是加/减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


一只斗牛犬
浏览 76回答 2
2回答

至尊宝的传说

您不能将日期和数字相加,date+4因为谁知道这是哪个单位4h,, 4d, ...?您可以使用datetime.timedelta,如果您的意思是,这是一个示例daysfrom datetime import timedeltaend_date = (date + timedelta(days=4)).strftime("%Y-%m-%d")# ...date = date + timedelta(days=3)

繁星coding

既然你已经在使用 Pandas,为什么还要麻烦导入其他东西呢?你可以做:import pandas as pd&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # your codedate = pd.date_range('2004-01-01', '2018-01-01', freq="AS")&nbsp; &nbsp; # your codefreq = 'D'&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# 'H' for hours, etc.date = date + pd.Timedelta(3, unit=freq)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# Perform the actionprint(date)输出(与azro的答案相同):DatetimeIndex(['2004-01-04', '2005-01-04', '2006-01-04', '2007-01-04',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'2008-01-04', '2009-01-04', '2010-01-04', '2011-01-04',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'2012-01-04', '2013-01-04', '2014-01-04', '2015-01-04',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'2016-01-04', '2017-01-04', '2018-01-04'],&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dtype='datetime64[ns]', freq=None)使用这种方法的另一个原因是,您可能会发现自己处于向日期动态添加内容的情况,例如在方法内部,并且您将单位作为参数传递。如果您使用的是timedelta(days=3),您将无法更改其他任何内容(小时、分钟等),但只有几天!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python