У меня есть фрейм данных, как показано ниже
Session slot_num ID prob
s1 1 A 0.2
s1 2 B 0.9
s1 2 B 0.4
s1 3 C 0.7
s1 4 D 0.8
s1 4 D 0.3
s1 5 E 0.6
s1 6 F 0.5
s1 7 G 0.7
s2 1 A1 0.6
s2 2 B1 0.5
s2 3 C1 1.1
s2 3 C1 0.6
s2 4 D1 0.7
s2 5 E1 0.6
s2 6 F1 0.7
s2 7 G1 1.2
s2 7 G1 0.7
, который отсортирован, как показано ниже
df = df.sort_values(['Session', 'slot_num'], ascending=True)
Затем я хотел бы создать новый столбец с именем overbook, как описано ниже.
если у нас есть несколько сессий Slot и slot_num, первый из которых 'yes', второй 'booking', если есть еще все, кроме первого, резервирующего другое: df ['overbook'] = 'no '
Также замените идентификатор второй строки на' TBF '
Ожидаемый результат:
Session slot_num ID prob overbook
s1 1 A 0.2 no
s1 2 B 0.9 yes
s1 2 TBF 0.4 booking
s1 3 C 0.7 no
s1 4 D 0.8 yes
s1 4 TBF 0.3 booking
s1 5 E 0.6 no
s1 6 F 0.5 no
s1 7 G 0.7 no
s2 1 A1 0.6 no
s2 2 B1 0.5 no
s2 3 C1 1.1 yes
s2 3 TBF 0.6 booking
s2 4 D1 0.7 no
s2 5 E1 0.6 no
s2 6 F1 0.7 no
s2 7 G1 1.2 yes
s2 7 TBF 0.7 booking