मैं पाइथन डेटाटाइम ऑब्जेक्ट्स का उपयोग करके पांडा डेटाफ्रेम को पढ़ने और टुकड़ा करने में सक्षम हूं, हालांकि मुझे इंडेक्स में केवल मौजूदा तिथियों का उपयोग करने के लिए मजबूर होना पड़ता है। उदाहरण के लिए, इस काम करता है:पाइथन पांडा डेटाफ्रेम दिनांक शर्तों के अनुसार स्लाइसिंग
>>> data
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 252 entries, 2010-12-31 00:00:00 to 2010-04-01 00:00:00
Data columns:
Adj Close 252 non-null values
dtypes: float64(1)
>>> st = datetime.datetime(2010, 12, 31, 0, 0)
>>> en = datetime.datetime(2010, 12, 28, 0, 0)
>>> data[st:en]
Adj Close
Date
2010-12-31 593.97
2010-12-30 598.86
2010-12-29 601.00
2010-12-28 598.92
लेकिन अगर मैं एक आरंभ या समाप्ति तिथि जो मौजूद नहीं है DF में, मैं अजगर KeyError मिल का उपयोग करें।
मेरा प्रश्न: मैं दिनांक सीमा के लिए डेटाफ्रेम ऑब्जेक्ट से कैसे क्वेरी करूं; यहां तक कि जब डेटाफ्रेम में प्रारंभ और समाप्ति तिथियां मौजूद नहीं होती हैं। क्या पांडा रेंज आधारित स्लाइसिंग के लिए अनुमति देता है?
मैं पांडा संस्करण 0.10.1
यदि मैं आपके उदाहरण को पेस्ट करता हूं, तो यह ठीक काम करता है। लेकिन मेरे प्रोग्राम में स्टार्ट एंड एंड वेरिएबल, हमेशा डेटाफ्रेम की लंबाई के लिए डिफ़ॉल्ट! मैं क्या गलत कर रहा हूं? - http://pastebin.com/raw.php?i=hfpHqF7s –
लगता है कि आपको अपने 'डेटाफ्रेम' को आरोही क्रम में सॉर्ट करना चाहिए। – waitingkuo
धन्यवाद, यह तब काम करता था जब डेटा आरोही क्रम में क्रमबद्ध किया गया था। –