Dữ liệu của tôi có thể có nhiều sự kiện vào một ngày cụ thể hoặc KHÔNG có sự kiện nào vào một ngày. Tôi lấy những sự kiện này, đếm theo ngày và vẽ chúng. Tuy nhiên, khi tôi vẽ chúng, hai bộ phim của tôi không phải lúc nào cũng phù hợp.Thêm ngày bị thiếu vào khung dữ liệu gấu trúc
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 loạt các 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 AssertionError như các kích thước không phù hợp khi tôi cố gắng âm mưu:
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ị từ IDX hoặc (mà tôi muốn làm) thêm vào chuỗi ngày bị thiếu với số lượng là 0. Tôi muốn có biểu đồ đầy đủ 30 ngày với 0 giá trị . Nếu phương pháp này là đúng, bất kỳ đề xuất về cách bắt đầu? Tôi có cần một số chức năng động reindex
không?
Dưới đây là một đoạn S (df.groupby(['simpleDate']).size()
), chú ý không có mục cho 04 và 05.
09-02-2013 2
09-03-2013 10
09-06-2013 5
09-07-2013 1
wow cảm ơn! Tôi không hoàn toàn hiểu được reindex hoạt động tốt như thế nào. – KHibma
'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ó để phù hợp với một bộ nhãn mới, (2) chèn các hàng mới mà 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/lùi) (4) chọn hàng theo nhãn! – unutbu
@unutbu Câu trả lời này cũng là một phần của câu hỏi tôi cảm ơn! Nhưng đã tự hỏi nếu bạn biết làm thế nào để tự động tạo ra một danh sách với những ngày có sự kiện? –