Dữ liệu của tôi có thể có nhiều sự kiện vào một ngày nhất định hoặc KHÔNG có sự kiện nào trong một ngày. Tôi lấy những sự kiện này, đếm từng ngày và vẽ chúng. Tuy nhiên, khi tôi vẽ chúng, hai loạt của tôi không luôn khớp.
idx = pd.date_range(df['simpleDate'].min(), df['simpleDate'].max())
s = df.groupby(['simpleDate']).size()
Trong mã trên, idx trở thành một phạm vi nói 30 ngày. 09-01-2013 đến 09-30-2013 Tuy nhiên S chỉ có thể có 25 hoặc 26 ngày vì không có sự kiện nào xảy ra trong một ngày nhất định. Sau đó, tôi nhận được một AssertsError vì kích thước không khớp khi tôi cố gắng vẽ đồ thị:
fig, ax = plt.subplots()
ax.bar(idx.to_pydatetime(), s, color='green')
Cách thích hợp để giải quyết vấn đề này là gì? Tôi có muốn xóa ngày không có giá trị khỏi IDX hay (mà tôi muốn làm hơn) được thêm vào chuỗi ngày thiếu với số 0. Tôi muốn có một biểu đồ đầy đủ trong 30 ngày với 0 giá trị. Nếu cách tiếp cận này là đúng, bất kỳ đề xuất về cách bắt đầu? Tôi có cần một số loại reindex
chức năng động ?
Đây là một đoạn của S ( df.groupby(['simpleDate']).size()
), thông báo không có mục nào cho 04 và 05.
09-02-2013 2
09-03-2013 10
09-06-2013 5
09-07-2013 1
reindex
là một chức năng tuyệt vời. Nó có thể (1) sắp xếp lại dữ liệu hiện có để khớp với một bộ nhãn mới, (2) chèn các hàng mới trong đó không có nhãn nào tồn tại trước đó, (3) điền dữ liệu cho các nhãn bị thiếu, (bao gồm cả điền vào trước / sau) (4) chọn các hàng theo nhãn!