मेरे डेटा में किसी दिनांक पर कई ईवेंट हो सकते हैं या किसी दिनांक पर NO ईवेंट हो सकते हैं। मैं इन घटनाओं को लेता हूं, तारीख तक एक गिनती प्राप्त करता हूं और उन्हें प्लॉट करता हूं। हालाँकि, जब मैं उन्हें प्लॉट करता हूं, तो मेरी दो श्रृंखला हमेशा मेल नहीं खाती हैं।
idx = pd.date_range(df['simpleDate'].min(), df['simpleDate'].max())
s = df.groupby(['simpleDate']).size()
उपर्युक्त कोड में idx 30 तिथियों की श्रेणी बन जाता है। 09-01-2013 से 09-30-2013 हालांकि एस में केवल 25 या 26 दिन हो सकते हैं क्योंकि किसी भी तारीख को कोई घटना नहीं हुई है। जब मैं प्लॉट करने की कोशिश करता हूं तो मुझे एक जोर मिलता है क्योंकि साइज मैच नहीं करते हैं:
fig, ax = plt.subplots()
ax.bar(idx.to_pydatetime(), s, color='green')
इससे निपटने का उचित तरीका क्या है? क्या मैं IDX या (जो मैं बल्कि करूँगा) से कोई मान नहीं के साथ तारीखों को निकालना चाहते हैं , लापता संख्या को श्रृंखला में जोड़ रहा है 0. की गिनती के साथ। मैं 0 मानों के साथ 30 दिनों का एक पूरा ग्राफ होगा। यदि यह दृष्टिकोण सही है, तो आरंभ करने के बारे में कोई सुझाव? क्या मुझे किसी प्रकार के गतिशील reindex
कार्य की आवश्यकता है?
यहां एस ( df.groupby(['simpleDate']).size()
) का एक स्निपेट है , 04 और 05 के लिए नो एंट्रीज नोटिस करें।
09-02-2013 2
09-03-2013 10
09-06-2013 5
09-07-2013 1
reindex
एक अद्भुत समारोह है। यह मौजूदा डेटा को लेबल के एक नए सेट से मिलान करने के लिए मौजूदा डेटा को पुन: व्यवस्थित कर सकता है, (2) नई पंक्तियाँ डालें जहाँ पहले से मौजूद कोई लेबल नहीं है, (3) लापता लेबल के लिए डेटा भरें, (फॉरवर्ड / बैकवर्ड फिलिंग सहित) (4) पंक्तियों का चयन करें लेबल द्वारा!