Pandas中的fillna - 如何自动选择最佳方法?

3
假设我有一个包含大量NaN值的数据框 - 实际上,除了一个(或几个相同的)值外,大多数值都是none,但分布在不同的行中。例如:
df = pd.DataFrame({'A':[np.nan, 2, np.nan], 'B':[3.5, np.nan, 3.5], 'C':[np.nan, np.nan, 0.1]})

那么我该如何获得一个类似这样的数据框呢?
  A    B    C
0  2  3.5  0.1
1  2  3.5  0.1
2  2  3.5  0.1
'bfill' 只能用于列'C','ffill' 只能用于列'B'...
那么我该如何用某列中任何数量的非空值替换该列中的所有nan值?

如果您有多个非NaN值,会发生什么? - Dani Mesejo
我不知道,但是pandas倾向于使用ffill的最后一个非NaN值和bfill的第一个非NaN值,因此这将只复制相邻的值。 - durbachit
1个回答

1

填充数据框中的缺失值。

可选的填充方向包括前向填充和后向填充。

df =df.ffill().bfill()

1
哈哈,我刚刚做了那件事,只用了两行代码,感觉有点傻,肯定有更优雅的方法。没想到我至少可以用一行代码完成它 :) 谢谢 - durbachit
1
我几分钟前无法... - durbachit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接