Я работаю над набором данных с пандами, в котором выполняются работы по техническому обслуживанию на месте.Техническое обслуживание выполняется через произвольные интервалы, иногда через год, а иногда и никогда.Я хочу найти годы с момента последнего действия по обслуживанию на каждом сайте, если на этом сайте было выполнено какое-либо действие.Для сайта может быть несколько действий, а действия могут быть случайными.За годы, предшествующие первому действию, невозможно узнать годы, прошедшие с момента действия, поскольку этой информации нет в наборе данных.В следующем примере я приведу только два сайта, но в исходном наборе данных их тысячи.Мои данные охватывают только 2014–2017 годы.
Действие = 0 означает, что в этом году не было выполнено никаких действий, Действие = 1 означает, что какое-то действие было выполнено.Измерение - это показание производительности, связанное с эффектом действия.Действие может произойти в любой год.
Site Year Action Measurement
A 2014 1 100
A 2015 0 150
A 2016 0 300
A 2017 0 80
B 2014 0 200
B 2015 1 250
B 2016 1 60
B 2017 0 110
Учитывая этот набор данных;Я хочу иметь такой набор данных:
Item Year Action Measurement Years_Since_Last_Action
A 2014 1 100 1
A 2015 0 150 2
A 2016 0 300 3
A 2017 0 80 4
B 2015 1 250 1
B 2016 1 60 1
B 2017 0 110 2
Обратите внимание, что 2015 год отфильтрован для сайта B, поскольку этот год предшествует первому действию для этого сайта.
Большое спасибозаранее!