मैं अब से पिछले 7 दिन की तारीख को विभाजित करना चाहता हूं।
यह मेरा कोड है।
df = pdr.get_data_yahoo('ibm',
start=datetime.datetime(y-5, m, d),
end=pd.datetime.now().date())
split_date = datetime.datetime(y, m, d-7)
train = df.loc[:split_date, ['Close']]
test = df.loc[split_date:, ['Close']]
print(train)
print("################################")
print(test)
यह इस तरह परिणाम दिखाता है।
............
2019-01-25 133.970001
2019-01-28 134.270004
2019-01-29 134.330002
2019-01-30 134.380005
2019-01-31 134.419998
2019-02-01 134.100006
##################################################################
Close
Date
2019-02-01 134.100006
2019-02-04 135.190002
2019-02-05 135.550003
2019-02-06 136.320007
2019-02-07 133.000000
print(test)
को पिछले 7 दिन का डेटा दिखाना चाहिए, लेकिन यह केवल 5 दिन ही क्यों दिखाता है, और 2019-02-01 134.100006
ट्रेन में क्यों दिखाते हैं और डेटा विभाजन समान नहीं होना चाहिए।
1 उत्तर
ऐसा लगता है कि आपके डेटासेट में पिछले ७ दिनों से केवल ५ पंक्तियाँ (सप्ताह के दिन) थीं, इसलिए आपका परीक्षण सेट केवल ५ पंक्तियाँ दिखाता है।
आपकी ट्रेन और परीक्षण सेट दोनों में '2019-02-01' को शामिल करने का कारण यह है कि
df.iloc[start_ind:end_ind]
,start_ind
सेend_ind
दोनों शामिल तक की पंक्तियों को पुनः प्राप्त करता है। (इसका उल्लेख डॉक्स में चेतावनी के रूप में किया गया है। आप यहां।) सही ढंग से विभाजित करने के लिए, आप अपने ट्रेन परीक्षण में 8 दिन पहले तक की सभी तिथियों को शामिल कर सकते हैं और अपने परीक्षण सेट में पिछले 7 दिनों को शामिल कर सकते हैं।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।