Я имею дело с DataFrame следующим образом:
n_days probability
0 0.01
17 0.1
18 0.11
19 0.12
40 0.2
41 0.21
Я хочу сгруппировать последовательные числа и получить среднюю вероятность для каждой группы, например:
n_days mean_probability
0 0.01
17-19 0.11
40-41 0.205
Форматированиена n_days
не слишком актуально.
Я пробовал что-то вроде:
df['diff_days'] = df.n_days - df.n_days.shift()
А потом:
df.diff_days.eq(1)
Что приводит к этому логическому:
n_days probability bool_eq
0 0.01 False
17 0.1 False
18 0.11 True
19 0.12 True
40 0.2 False
41 0.21 True
Это кажется шагом вперед, но я не знаю, как это сделать. Каждый False
будет началом каждой группы, но как мне поймать всю группу? Любая помощь будет оценена. Благодаря.