Python 如果一列中的值为null,则在另一列中提供另一个值

Python 如果一列中的值为null,则在另一列中提供另一个值,python,pandas,null,Python,Pandas,Null,我有以下数据帧: >>> name age grade pass 0 Dana 23 95 yes 1 Emaa 24 yes 2 Don 25 99 yes 3 Daniela 24 85 yes 4 Fred 21 yes 我想创建一个条件,以便在列级别为null时,列传递中的值将为no: >>> name age grade pass 0

我有以下数据帧:

>>> name  age  grade  pass
0   Dana  23    95    yes
1   Emaa  24          yes
2   Don   25    99    yes
3 Daniela 24    85    yes
4   Fred  21          yes
我想创建一个条件,以便在列级别为null时,列传递中的值将为no:

>>> name  age  grade  pass
0   Dana  23    95    yes
1   Emaa  24          no
2   Don   25    99    yes
3 Daniela 24    85    yes
4   Fred  21          no
我试过这样做:

if df['grade'].isna():
    df['pass']='no'
但我得到了一个错误:

ValueError:序列的真值不明确。使用a.empty, a、 bool()、a.item()、a.any()或a.all()


我怎样才能得到预期的结果?我做错了什么?

你需要做
np.where
mask

df['pass'] = df['pass'].mask(df['grade'].isna(), 'no')

谢谢你分享这个Ben,你能告诉我你是如何从样本中创建df的吗?我试图复制并使用
read_clipboard
,但这并没有占用最后一个字段之间的空间,因为它是
NaN
,任何指导都将受到欢迎。@RavinderSingh13我没有创建dataframe~,只是基于他的预期输出,解决方案应该非常明显~