У меня есть датафрейм со значением столбцов, идентификатором, расстоянием и расстоянием2. я хочу извлечь предыдущую строку, когда значение расстояния столбца или distance2 изменяется от 0 до диапазона значений для столбца расстояния 4000 до 5000 и для столбца distance2, когда значение изменяется от 0 до диапазона от 3000 до 4000.
вот мой примердф
df=pd.DataFrame({'value':[3,4,7,8,11,20,15,20,15,16],
'ID':[2,2,8,8,8,2,2,2,5,5],
'distance':[0,0,0,4008,0,0,4820,0,0,0],'distance2':[0,0,0,3006,0,0,0,1,3990,0]})
value ID distance distance2
0 3 2 0 0
1 4 2 0 0
2 7 8 0 0
3 8 8 4008 3006
4 11 8 0 0
5 20 2 0 0
6 15 2 4820 0
7 20 2 0 1
8 15 5 0 3990
9 16 5 0 0
desired output
value ID distance distance2
0 7 8 4008 3006
1 20 2 4820 0
2 20 2 0 3990