Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从DateTime开始/停止计算每小时发生的次数_Python_Datetime_Group By_Count_Pivot - Fatal编程技术网

Python 从DateTime开始/停止计算每小时发生的次数

Python 从DateTime开始/停止计算每小时发生的次数,python,datetime,group-by,count,pivot,Python,Datetime,Group By,Count,Pivot,第一次发布,所以希望这不是重复-如果是,请让我知道,如果是,因为我已经花了过去几天在寻找一种方法来做我想要的 所以我有一个非常大的数据集,它有两列,一列是“session\u start”,另一列是“session\u end”: 我想做的是将其从开始-停止数据集“转换”为计算每小时(或半小时)发生的次数,并在存在的地方获得一部分小时(或半小时)。例如,在上面的第1行中,对于12:00am-1:00am,00:00:00-00:26:58将计为0.449。05:32:45-07:12:33的一行

第一次发布,所以希望这不是重复-如果是,请让我知道,如果是,因为我已经花了过去几天在寻找一种方法来做我想要的

所以我有一个非常大的数据集,它有两列,一列是“session\u start”,另一列是“session\u end”:

我想做的是将其从开始-停止数据集“转换”为计算每小时(或半小时)发生的次数,并在存在的地方获得一部分小时(或半小时)。例如,在上面的第1行中,对于12:00am-1:00am,00:00:00-00:26:58将计为0.449。05:32:45-07:12:33的一行将是5:00am-6:00am的一部分,6:00am-7:00am的全部,以及7:00am-8:00am的一部分。这将是一年中365天的每小时、每天的总和,由几个变量分组,并具有如下输出:

session_time_hr     grp1_ct    grp2_ct ...
2018-01-01 00:00    45.6       42
2018-01-01 01:00    52         132
2018-01-01 02:00    33         1
...
到目前为止,我只看到它是根据日范围来完成的,即使这样,逻辑充其量也是模糊的

我看到了这篇文章,我想到了同样的逻辑,但严格来说是Python:

我还研究了datetimerange库(),但它似乎只给出datetime是否在某个范围内,而不是该范围的比例

session_time_hr     grp1_ct    grp2_ct ...
2018-01-01 00:00    45.6       42
2018-01-01 01:00    52         132
2018-01-01 02:00    33         1
...