python - 填充熊猫中的特定行
问题描述
如果我有一个缺少值的数据框,有什么办法可以用特定的行参数向后填充 NaN 单元格?例如:
如果我有 X、Y、Z 列;有什么方法可以只用 Y 列为 1 的行填充“Z”NaN 列?作为参考,我只想填充显示“已填充”的单元格
我已经知道如何使用某个列
列 = ['Z']
df.loc[:,cols] = df.loc[:,cols].bfill()
我只需要知道是否有办法只填充 Y 值为 1 的 Z 列
非常感谢您!
解决方案
df['Y'] == 1
您可以在赋值语句中添加布尔掩码df.loc
,如下所示:
cols = ['Z']
df.loc[df['Y'] == 1, cols] = df.loc[:, cols].bfill()
结果:
print(df)
X Y Z
0 1 1 2.0
1 1 2 2.0
2 1 3 NaN
3 2 1 4.0
4 3 1 3.0
5 3 1 3.0
推荐阅读
- syntax - 如何在使用正确语法的同时模拟 if then then 语句的结果?
- angularjs - 如何为 spring boot 生成的 XSRF-Token cookie 设置 max-age
- netlogo - NetLogo 行为空间不包括我的品种之一
- r - 创建数据框,根据列表的第一个元素进行匹配
- excel - 如何根据单元格的值更改单元格的多个格式参数?
- bash - 如何查找包含给定文件的所有文件?
- php - wordpress 增强的媒体库查询的图像没有出现在 polylang 中
- java - 如何使用 sqrt(-x) 处理 NaN?
- python-3.x - 在:LinearFunction (Forward) 中执行了无效操作
- python - 有没有办法在 Python 中动态构建列表