python - Pandas pandas 从另一列向后填充
问题描述
我有一个这样的df:
val1 val2
9 3
2 .
9 4
1 .
5 1
如何使用 bfill con val2 但引用 val1,以便数据帧导致:
val1 val2
9 3
2 9
9 4
1 3
5 1
所以缺失值 con val2 是 val1 的前一个值 BUT
解决方案
您可以在第二列中填充 NA 值,第一列向下移动一行:
>>> import pandas as pd
>>> df = pd.DataFrame({"val1": [9, 2, 9, 1, 5], "val2": [3, None, 4, None, 1]})
>>> df
val1 val2
0 9 3.0
1 2 NaN
2 9 4.0
3 1 NaN
4 5 1.0
>>> df["val2"].fillna(df["val1"].shift(), inplace=True)
>>> df
val1 val2
0 9 3.0
1 2 9.0
2 9 4.0
3 1 9.0
4 5 1.0
推荐阅读
- python - 如何使用龟蟒绘制骰子
- flutter - 如何沿着从起点到终点的弯曲贝塞尔路径为小部件设置动画?
- c++ - 关于构造函数和内存泄漏的问题
- android - Jetpack Compose - 在动画中间立即更改值
- python - MNIST 训练的网络用我自己的样本进行了测试
- postgresql - 从 DBeaver(在 Windows 上)访问 PostgreSQL(在 wsl2 上)失败:“连接被拒绝:连接”
- kubernetes - 如何在 kubernetes 中将多个节点合并为一个大节点
- google-sheets - 创建以字符串为源的公式
- webrtc - ArCore Capture 自定义 VideoCapture | 尝试了所有解决方案
- python-3.x - 以 datetime 为索引的 Pandas 系列的平均值,但可能缺少数据