Как засыпать значения NaN при условии, что следующее действующее значение после NaN равно предыдущему действительному значению - PullRequest
0 голосов
/ 14 октября 2018

Вот выдержка из моей панды 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 равен предыдущему действительному значению (первый ряд в дф).

1 Ответ

0 голосов
/ 14 октября 2018

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

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

df.loc[df['TransactionId'].ffill() == bfilled, 'TransactionId'] = bfilled
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...