Как засыпать значения NaN при условии, что следующее действующее значение после NaN равно предыдущему действительному значению

1

Вот выдержка из моих панд DataFrame:

df =
TransactionId   Value   AuthenticationId
1214050         8243.12 AE19D686
NaN             8243.12 AE19D686
NaN             8243.12 AE19D686
NaN             8243.12 AE19D686
NaN             8243.12 AE19D686
1214050         8243.12 AE19D686

Я хочу заполнить любые значения NaN, которые соответствуют условию, что текущий действительный (т.е. Не NaN) TransactionId равен предыдущему действительному значению (первая строка в df).

Теги:
pandas
fillna

1 ответ

1
Лучший ответ

Вы можете проверить, ffill ли ffill и bfill, а затем bfill обратное заполнение условно через pd.DataFrame.loc:

bfilled = df['TransactionId'].bfill()

df.loc[df['TransactionId'].ffill() == bfilled, 'TransactionId'] = bfilled

Ещё вопросы

Сообщество Overcoder
Наверх
Меню