如何在 pandas fillna() 方法中为不同的列应用不同的方法参数
Posted
技术标签:
【中文标题】如何在 pandas fillna() 方法中为不同的列应用不同的方法参数【英文标题】:How to apply different method parameters for different columns in pandas fillna() method 【发布时间】:2019-09-03 19:00:27 【问题描述】:我有一个这样的数据框。
Name Roll GPA
A 10 5.0
B NaN 4.5
C 12 NaN
我正在使用:
df.fillna(method='ffill', inplace=True)
但它使用ffill
方法填充所有列。
但我想同时使用 ffill
和 bfill
方法填充 NaN
值。例如,我想将method='ffill'
应用于Roll 列,将method='bfill'
应用于GPA 列。我怎样才能做到这一点?
【问题讨论】:
df2 = df.assign(Roll=df.Roll.ffill(), GPA=df.GPA.bfill())
感谢@coldspeed。有用。请将此添加为答案,以便我标记为最佳。
【参考方案1】:
两者都可以。
df2 = df.assign(Roll=df.Roll.ffill(), GPA=df.GPA.bfill())
【讨论】:
以上是关于如何在 pandas fillna() 方法中为不同的列应用不同的方法参数的主要内容,如果未能解决你的问题,请参考以下文章
如何将另一整列作为参数传递给 pandas fillna()
pandas 处理缺失值[dropna、drop、fillna]
Pandas:具有多索引的 fillna() 方法 - NaN 填充了错误的列