Verilerim belirli bir tarihte birden çok olay içerebilir veya bir tarihte olay YOK olabilir. Bu olayları alıyorum, tarihe göre sayıyorum ve planlıyorum. Ancak, onları çizdiğimde, iki serim her zaman eşleşmiyor.
idx = pd.date_range(df['simpleDate'].min(), df['simpleDate'].max())
s = df.groupby(['simpleDate']).size()
Yukarıdaki kodda idx , 30 tarih aralığı haline gelir. 09-01-2013 ila 09-30-2013 Ancak S yalnızca 25 veya 26 gün sürebilir, çünkü belirli bir tarihte hiçbir olay olmamıştır. Ardından, çizmeye çalıştığımda boyutlar eşleşmediğinden bir AssertionError alıyorum:
fig, ax = plt.subplots()
ax.bar(idx.to_pydatetime(), s, color='green')
Bununla başa çıkmanın doğru yolu nedir? IDX'ten hiçbir değer içermeyen tarihleri kaldırmak mı yoksa (bunu yapmayı tercih ederim) seriye eksik tarihi 0 ile mi eklemek istiyorum. 0 değerleri olan 30 günlük tam bir grafiğe sahip olmayı tercih ederim. Bu yaklaşım doğruysa, nasıl başlayacağınıza dair herhangi bir öneriniz var mı? Bir çeşit dinamik reindex
işleve ihtiyacım var mı?
İşte bir S ( df.groupby(['simpleDate']).size()
) parçası, 04 ve 05 için hiçbir girişe dikkat edin.
09-02-2013 2
09-03-2013 10
09-06-2013 5
09-07-2013 1
reindex
inanılmaz bir işlevdir. (1) mevcut verileri yeni bir etiket setiyle eşleşecek şekilde yeniden sıralayabilir, (2) daha önce etiket bulunmayan yeni satırlar ekleyebilir, (3) eksik etiketler için verileri doldurabilir, (ileri / geri doldurma dahil) (4) satırları seçebilir etikete göre!