Python подсчитать количество значений в интервале

У меня есть большой датафрейм вида :

id time(minutes)
1 23
2 25
3 123
4 245
5 9524
6 244
7 1
8 3
... .....

Как можно посчитать количество id в промежутках

  • от 0 до 5 минут,
  • от 5 минут до 10 минут,
  • от 10 минут до 15 минут,
  • от 15 до 20,
  • от 20 до 25
  • и от 25 до 30

Ответы (1 шт):

Автор решения: CrazyElf

Если я правильно понял суть вопроса, то можно использовать pandas.cut и groupby:

import pandas as pd
import numpy as np

df = pd.DataFrame({'time': np.random.randint(0, 59, size=1000)})
df['interval'] = pd.cut(df['time'], bins=[x*5 for x in range(13)], include_lowest=True)
df.groupby('interval').count()

Вывод:

                time
interval    
(-0.001, 5.0]   103
 (5.0, 10.0]    69
(10.0, 15.0]    90
(15.0, 20.0]    72
(20.0, 25.0]    80
(25.0, 30.0]    88
(30.0, 35.0]    88
(35.0, 40.0]    95
(40.0, 45.0]    91
(45.0, 50.0]    95
(50.0, 55.0]    76
(55.0, 60.0]    53

Хотя можно и проще - просто разделить время на 5 и группировать по этому значению.

→ Ссылка