为了账号安全,请及时绑定邮箱和手机立即绑定

在给定的时间段内按天计算

在给定的时间段内按天计算

慕森王 2021-09-02 20:09:27
示例数据框:    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 有更好的方法。我正在寻找更好的方法。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信