我有一个dataframe,它有两个列:'start_time'和'end_time'
| 开始时间|结束时间|
| --------------|--------------|
| 十点整|14点整|
| 13点整|20点整|
| 十二点|15点整|
| 13点整|19点整|
| 十一点整|15点整|
| 九点整|14点整|
我想得到每一行之间的时间,就像它们是约会一样。例如,第一行具有时间:10:00:00、11:00:00、12:00:00和13:00:00(14:00:00没有预约,因为那是“结束”时间)。
最后,我想按价值对这些时间进行分组。最后的dataframe应该是这样的:
| 时间|计数|
| --------------|--------------|
| 十点整|5|
| 十一点整|四|
| 十二点|七|
| 13点整|1|
| 14点整|六|
我所说的count是指每次一个值在该行的范围内(即在前2行中,值“13:00:00”出现2次)。
谢谢大家!
2条答案
按热度按时间5ssjco0h1#
这给出了每个时间在其中一个间隔中发生的频率的计数(假设每个开始和结束时间是一个完整的小时,并且每个间隔仅跨越一天):
印刷品
7d7tgy0s2#
这里有一种方法,使用
date_range
查找每个start_time/end_time
对的所有约会时间,然后exploding
结果范围并计算所有不同的时间,然后将结果序列转换为 Dataframe :示例数据的输出: