如何在 pandas fillna() 方法中为不同的列应用不同的方法参数

How to apply different method parameters for different columns in pandas fillna() method

我有一个这样的数据框。

Name    Roll    GPA
A       10      5.0
B       NaN     4.5
C       12      NaN

我正在使用:

df.fillna(method='ffill', inplace=True)

但它使用 ffill 方法填充所有列。

但我想使用 ffillbfill 方法填充 NaN 值。例如,我想将 method='ffill' 应用于 Roll 列,将 method='bfill' 应用于 GPA 列。我怎样才能做到这一点?

两者都可以。

df2 = df.assign(Roll=df.Roll.ffill(), GPA=df.GPA.bfill())