Data saya dapat memiliki beberapa acara pada tanggal tertentu atau NO acara pada tanggal tertentu. Saya mengambil peristiwa ini, menghitung berdasarkan tanggal dan memplotnya. Namun, ketika saya memplotnya, kedua seri saya tidak selalu cocok.
idx = pd.date_range(df['simpleDate'].min(), df['simpleDate'].max())
s = df.groupby(['simpleDate']).size()
Dalam kode di atas idx menjadi kisaran katakanlah 30 tanggal. 09-01-2013 hingga 09-30-2013 Namun S mungkin hanya memiliki 25 atau 26 hari karena tidak ada peristiwa yang terjadi untuk tanggal tertentu. Saya kemudian mendapatkan AssertionError karena ukurannya tidak cocok ketika saya mencoba merencanakan:
fig, ax = plt.subplots()
ax.bar(idx.to_pydatetime(), s, color='green')
Apa cara yang tepat untuk mengatasi ini? Apakah saya ingin menghapus tanggal tanpa nilai dari IDX atau (yang lebih saya lakukan) adalah menambahkan ke rangkaian tanggal yang hilang dengan hitungan 0. Saya lebih suka memiliki grafik penuh 30 hari dengan nilai 0. Jika pendekatan ini benar, ada saran tentang bagaimana memulainya? Apakah saya membutuhkan semacam dinamikareindex
fungsi ?
Berikut potongan S ( df.groupby(['simpleDate']).size()
), tidak ada entri untuk 04 dan 05.
09-02-2013 2
09-03-2013 10
09-06-2013 5
09-07-2013 1
reindex
adalah fungsi yang luar biasa. Ini dapat (1) menyusun ulang data yang ada agar sesuai dengan kumpulan label baru, (2) menyisipkan baris baru yang sebelumnya tidak ada label, (3) mengisi data untuk label yang hilang, (termasuk dengan pengisian maju / mundur) (4) pilih baris dengan label!