填充 pandas 中的特定行

Filling specific rows in pandas

如果我有一个包含缺失值的数据框,有什么方法可以向后填充具有特定行参数的 NaN 单元格?例如:

如果我有 X、Y、Z 列;有没有办法只用 Y 列为 1 的行填充 'Z' NaN 列?作为参考,我只想填充显示“已填充”的单元格

Data

我已经知道如何使用

获取特定列

列数 = ['Z']

df.loc[:,cols] = df.loc[:,cols].bfill()

我只需要知道是否有办法只填充 Y 值为 1 的 Z 列

在此先感谢您!

可以在df.loc赋值语句中加入df['Y'] == 1的布尔掩码,如下:

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