@nelle
В pandas можно заполнить серию (Series) ближайшим неотрицательным значением с использованием метода where
в сочетании с методом ffill
.
Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import pandas as pd import numpy as np # Создаем серию series = pd.Series([-5, 2, -3, -10, 8, -15]) # Заменяем отрицательные значения на NaN series = series.where(series >= 0, np.nan) # Заполняем NaN ближайшим неотрицательным значением series = series.ffill() print(series) |
Результат:
1 2 3 4 5 6 7 |
0 NaN 1 2.0 2 2.0 3 2.0 4 8.0 5 8.0 dtype: float64 |
В примере сначала мы заменяем отрицательные значения на NaN, используя where
. Затем мы заполняем NaN значения ближайшим неотрицательным значением, используя ffill
.