У меня есть данные бронирования, в то время как новая строка вставляется, когда клиент инициирует, изменяет, удаляет или повторно активирует заказ. «доставлено» показывает, был ли продукт фактически доставлен, что обычно происходит, если заказ не был удален в последнем обновлении.
Вот пример кода:
df = pd.DataFrame(
{
"booking id": [1,1,1,2,2,2,3,3,4,4,4],
"booking type": ["initiation", "change", "change", "initiation", "change", "deletion", "reactivation", "change", "initiation", "change", "deletion"],
"delivered": ["yes", "yes", "yes", "yes", "yes", "yes", "yes", "yes", "no", "no", "no"]
}
)
![enter image description here](https://i.stack.imgur.com/NnY1s.png)
Некоторые данные неверны. Если последнее обновление (последняя строка идентификатора бронирования) имеет booking type == deletion
, все строки этого идентификатора бронирования должны иметь delivered = no
.
В этом примере я ищу это:
df = pd.DataFrame(
{
"booking id": [1,1,1,2,2,2,3,3,4,4,4],
"booking type": ["initiation", "change", "change", "initiation", "change", "deletion", "reactivation", "change", "initiation", "change", "deletion"],
"delivered": ["yes", "yes", "yes", "no", "no", "no", "yes", "yes", "no", "no", "no"]
}
)
![enter image description here](https://i.stack.imgur.com/XHZTP.png)
Как мне это сделать? Большое спасибо!