Как заполнить series ближайшим неотрицательным значением в pandas?

Пользователь

от nelle , в категории: Python , месяц назад

Как заполнить series ближайшим неотрицательным значением в pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от stephon , 16 дней назад

@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.