1

这是我的 pandas 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)TransactionId 等于前一个有效值(df 中的第一行)条件的任何 NaN 值。

4

1 回答 1

1

您可以检查是否一致,ffill然后bfill通过以下方式有条件地应用回填pd.DataFrame.loc

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

df.loc[df['TransactionId'].ffill() == bfilled, 'TransactionId'] = bfilled
于 2018-10-14T14:13:41.553 回答