python - 熊猫仅在后一行有值时才填充 na
问题描述
如果您有熊猫数据框
A B C
1 1 NA
2 1 1
3 NA 3
NA NA NA
4 NA NA
5 NA 4
如果 NA 和数据帧末尾之间存在值,我只想填充 na。这可能吗?
所以输出将是
A B C
1 1 NA
2 1 1
3 NA 3
3 NA 3
4 NA 3
5 NA 4
解决方案
使用ffill
和bfill
。
df.ffill().where(df.bfill().notna())
# Or,
# df.where(df.bfill().isna(), df.ffill())
A B C
0 1.0 1.0 NaN
1 2.0 1.0 1.0
2 3.0 NaN 3.0
3 3.0 NaN 3.0
4 4.0 NaN 3.0
5 5.0 NaN 4.0
推荐阅读
- r - R中的时空聚类方法或包?
- visual-studio - 更新 NuGet 包后新创建的跨平台 Xamarin.Forms 项目无法构建
- javascript - 如何将返回的函数值传递给ejs
- ansible - Ansible 弃用警告而不是使用 `result|search` 使用 `result is search`,但是如何?
- typescript - 我无法在 Typescript 中使用或导入 Navigo
- python - 查找给定目录、扩展名和字符串的字符串?
- node.js - 是否有用于内容丰富的 html 到富文本 npm 包
- angular - 无法将 CORS 支持添加到 Spring Boot 数据 jpa
- javascript - 如何根据选中的复选框数量设置要在条纹按钮上收取的金额
- python - Python Flask即使在更新后也会执行旧功能