python - 根据另一列中的值有条件地填充 pandas 中的空值

标签 python pandas dataframe null nan

如何根据另一列中的值填充一行中的空值。

A  B
0  5 
1  NAN
1  6
0  NAN

对于B中的空值,如果A中对应的值为0则用之前的值填充。

A  B
0  5 
1  NAN
1  6
0  6

```

it want it to be like this

最佳答案

numpy.where + isnull + ffill

df.assign(
    B=np.where(df.A.eq(0) & df.B.isnull(), df.B.ffill(), df.B)
)

   A    B
0  0  5.0
1  1  NaN
2  1  6.0
3  0  6.0

关于python - 根据另一列中的值有条件地填充 pandas 中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55750556/

相关文章:

python - 如果行中的其他条目匹配,则更改 Python Pandas 数据框中的条目

python - 如何在 SPSS Python 中查找变量的索引值

python - 如何在多索引数据框中按第二级日期切片进行过滤

python - 如何根据其他列中的一个而不是两个条件删除重复项

python - 使用 Python 将输出总和四舍五入到最接近的偶数

python - 重复的 numpy 子数组

python - 为什么 Pandas DataFrame Resample 会更改列顺序

python - matplotlib 堆栈条按日期(月和年)分组

python - 使用字典替换字符串而不删除 Pandas 数据框中的字符

r - 基于原始 CSV 文件名称的地 block 名称