Try with all
+ isna
df.loc[df.COL5.isin(['A','B']) & df[['COL2','COL3','COL4']].isna().all(1),'COL2']='OK'
df
Out[22]:
COL1 COL2 COL3 COL4 COL5
0 G1 OK NaN NaN A
1 G1 NaN Lop NaN A
2 G2 OK NaN NaN B
3 G3 Sil NaN SLO A
4 G4 NaN NaN NaN C
5 G4 LIJ KYI NaN B
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…