Вот выдержка из моих панд 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).
Вы можете проверить, ffill
ли ffill
и bfill
, а затем bfill
обратное заполнение условно через pd.DataFrame.loc
:
bfilled = df['TransactionId'].bfill()
df.loc[df['TransactionId'].ffill() == bfilled, 'TransactionId'] = bfilled