示例數據框: id start1 end1 start2 end20 Bob 2018-11-29 2018-11-30 2018-12-01 2018-12-311 James 2018-10-19 2018-10-31 NaT NaT2 Jane 2018-04-05 2018-07-12 2018-11-29 2018-11-30鑒于上述示例數據框,我想按月和年顯示頻率計數。讓我們假設在這些時期,每個人 ( id) 都受到某種事物的“影響”。每個人最多有兩個時間段(總是至少有一個時間段(即start1和end1),但可能有也可能沒有第二個時間段(即,start2和end2))。我想顯示在任何人受到影響的整個時間范圍內,有多少人受到月和年的影響。例如,上面的數據會產生這樣的結果(不確定年-月是同一列還是多列——不管什么都行): year-month count0 2018-04 11 2018-05 12 2018-06 13 2018-07 14 2018-08 05 2018-09 06 2018-10 17 2018-11 28 2018-12 1我的最終目標是跨不同時間段(例如,年(在本示例數據中均為 2018 年)、月/年、周等)查看這些數據。我不知道如何將這些解包成一個系列,以便我可以在單列上繪制直方圖。我知道一旦我將它們放在一個列中(例如,date),我可以執行以下操作:df.groupby(df["date"].dt.month).count().plot(kind="bar")但這只能按月計算,并且假設我已經將日期放在一列中。datetime如果在每個時間范圍之間,我可以使用并繼續在循環中添加天數,直到我到達結束日期,但是每次我做類似的事情時,我都知道 pandas/numpy 有更好的方法。我正在尋找更好的方法。
添加回答
舉報
0/150
提交
取消