У меня есть датафрейм типа
Index Value
0 5
1 Nan
2 6
3 16
4 23
5 32
6 33
7 34
если разница с предыдущей строкой меньше 2, значение текущей строки должно быть равным только предыдущей строке.
Итак, я хочу это как
Index Value
0 5
1 Nan
2 6
3 16
4 23
5 32
6 32
7 32
I have tried :
test = np.where(df.Value.notnull() & df.Value.shift(-1).notnull() & ((df.Value - df.Value.shift(-1)) < 2),df.Value.shift(-1),df.Value)
это не дает желаемого выхода, где я иду не так?
Edit:
Привет, у меня есть небольшое изменение в моем требовании. Если предыдущее значение равно нулю, я хочу, чтобы оно сравнивалось с предыдущим ненулевым значением и вычисляло разницу. Так что в этом случае я хочу, чтобы это было
Index Value
0 5
1 Nan
2 5
4 23
5 32
6 32
7 32
Значение индекса-2 должно быть только 5, а не 6