मैं Google रुझान निकालने के लिए 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
10
Bushra Akram 11 अप्रैल 2020, 10:42

2 जवाब

सबसे बढ़िया उत्तर

आप दिनांक और संख्या जैसे date+4 का योग नहीं कर सकते क्योंकि कौन जानता है कि यह कौन सी इकाई है, 4h, 4d, 4m, ...?

आप datetime.timedelta का इस्तेमाल कर सकते हैं, यहां एक उदाहरण दिया गया है अगर आपका मतलब days है

end_date = (date+timedelta(days=4)).strftime("%Y-%m-%d")
# ...
date = date+timedelta(days=3)
2
azro 11 अप्रैल 2020, 10:49

चूंकि आप पहले से ही पंडों का उपयोग करते हैं, इसलिए अन्य सामान आयात करने की जहमत क्यों उठा रहे हैं? तुम कर सकते हो:

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)

आउटपुट (एज़्रो के उत्तर के समान):

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) का उपयोग कर रहे थे, तो आप दिन के अलावा कुछ और (घंटे, मिनट, आदि) नहीं बदल पाएंगे!

0
gsamaras 15 मई 2020, 19:21