Python 检查值是否为“无”

Python 检查值是否为“无”,python,pandas,Python,Pandas,我有一个数据帧 df = pd.DataFrame({'k':['a','b','c'],'v':[1,None,3]}) k v 0 a 1.0 1 b NaN 2 c 3.0 我想检查列k的b值是否为NaN 我试过了 if df['v'][df['k']=='b'] is None: print("yes") else: print('no') 这不会产生任何输出 我也试过了 if df['v'][df['k']=='b']

我有一个数据帧

df = pd.DataFrame({'k':['a','b','c'],'v':[1,None,3]})

   k    v
0  a  1.0
1  b  NaN
2  c  3.0
我想检查列
k
b
值是否为NaN

我试过了

if df['v'][df['k']=='b'] is None:
    print("yes")
else:
    print('no')
这不会产生任何输出

我也试过了

if df['v'][df['k']=='b'] == None:
    print("yes")
else:
    print('no')

两者都给了我这个错误

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

如果,只要您有一个空值,您就会希望返回
True
,然后使用
.any()
。如果希望所有值都为Null(在本例中,这并不重要,因为只有一个值),则使用
.all()

输出:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
if df[df['k']=='b']['v'].isna().any():
    print("yes")
else:
    print('no')