我有一个如下结构的数据框:开始时间、结束时间和高度。
数据框的一些属性:
- 数据框中的每一行始于前一行的结束位置,即如果第n行的结束位置是100,则第n+1行的开始位置为101。 - 第n+1行的高度始终与第n行的高度不同(这是数据在不同行之间的原因)。
我想将数据框分组,使得高度按照5个为一组的区间进行分组,即区间为0、1-5、6-10、11-15和>15。
请参考以下代码示例,其中我正在寻找group_by_bucket函数的实现。
我尝试查看其他问题,但无法得到我所需要的确切答案。
提前致谢!
数据框的一些属性:
- 数据框中的每一行始于前一行的结束位置,即如果第n行的结束位置是100,则第n+1行的开始位置为101。 - 第n+1行的高度始终与第n行的高度不同(这是数据在不同行之间的原因)。
我想将数据框分组,使得高度按照5个为一组的区间进行分组,即区间为0、1-5、6-10、11-15和>15。
请参考以下代码示例,其中我正在寻找group_by_bucket函数的实现。
我尝试查看其他问题,但无法得到我所需要的确切答案。
提前致谢!
>>> d = pd.DataFrame([[1,3,5], [4,10,7], [11,17,6], [18,26, 12], [27,30, 15], [31,40,6], [41, 42, 7]], columns=['start','end', 'height'])
>>> d
start end height
0 1 3 8
1 4 10 7
2 11 17 6
3 18 26 12
4 27 30 15
5 31 40 6
6 41 42 7
>>> d_gb = group_by_bucket(d)
>>> d_gb
start end height_grouped
0 1 17 6_10
1 18 30 11_15
2 31 42 6_10
height_grouped
的值不是唯一的。d_gb
有三个组,但其中两个是相同的,因此你应该有一个额外的分组标准,这是你没有提到的。 - ayhan