python - 用 Python 中最接近的非 NaN 列值填充 NaN
问题描述
我想用最接近的(从左侧的位置)列的值来填充e
列。NaN
not NaN
a b c d e
0 1 2.0 3.0 6.0 3.0
1 3 5.0 7.0 NaN NaN
2 2 4.0 NaN NaN NaN
3 5 6.0 NaN NaN NaN
4 3 NaN NaN NaN NaN
例如,对于 的第二行e
,它最接近的Not NaN
列是e
按位置,那么我们取7.0
,在 Pandas 中是否可以这样做?谢谢。
预期的输出是这样的:
a b c d e
0 1 2.0 3.0 6.0 3.0
1 3 5.0 7.0 NaN 7.0
2 2 4.0 NaN NaN 4.0
3 5 6.0 NaN NaN 6.0
4 3 NaN NaN NaN 3.0
解决方案
如果答案应该简化,请从左侧到最后一列获取所有第一个非缺失值,使用前向填充它们并按位置选择最后一列:
df.e = df.ffill(axis=1).iloc[:, -1]
推荐阅读
- python - 有没有更好的方法来提高 concat 速度?
- dart - 如何通过命令创建 pubspec.yaml?
- swift - 如何快速确定airpods的电池电量
- react-native - 如何在 react-native-webview 中获取 SPA 的 url 更改事件?
- terminal - 如何创建仅包含文件而不包含文件的目录的 tarball?
- python - 如何在 Python 3 中安装 pip 并连接到 Jupyter Notebook?
- php - HTML 表单 (method = "post") 不会提交
- python - 为什么我在字典上迭代得到不同的结果
- python-3.x - Azure Python函数:无法打开图像'':没有这样的文件或目录@error/blob.c/OpenBlob/3537
- python - Dataframe - 找到匹配后停止搜索并导出数据