Вот набор данных:
>>> df = pd.DataFrame({'id_police':['p123','p123','p123','b123','b123'],
'date':['24/01/2017','24/11/2017','25/02/2018','24/02/2018','24/03/2018'],
'prime':[0,0,10,20,30],
'prime2':[0,30,10,20,0],
})
###
id_police date prime prime2
0 p123 24/01/2017 0 0
1 p123 24/11/2017 0 30
2 p123 25/02/2018 10 10
3 b123 24/02/2018 20 20
4 b123 24/03/2018 30 0
Это результат, который я получил, когда использовал рабочее решение от @Erfan:
id_police date prime prime2 changed
0 p123 24/01/2017 0 0<- 0
1 p123 24/11/2017 0<- 30<- 1
2 p123 25/02/2018 10<- 10 1
3 b123 24/02/2018 20 20 0
4 b123 24/03/2018 30 0 0
Команда:
df['changed'] = (df[['prime', 'prime2']].shift().eq(0).any(axis=1) & df[['prime', 'prime2']].ne(0).any(axis=1)).astype(int)
Теперь я хочу применить это для каждого id_police
, например, добавить группу или что-то еще ... Спасибо за помощь!