Python:Dataframe若ColA为空且ColB包含字符串,则新列显示字符串

Python:Dataframe若ColA为空且ColB包含字符串,则新列显示字符串,python,numpy,where,nan,Python,Numpy,Where,Nan,编辑问题 我的样本表如下: colA colB ABC IAH DEADFSLJ CI CI CI AFDSJLKA222 CI 23940281 CI 我想采用以下逻辑: 如果colA是空字符串,colB是CI,则创建一个新列(ColC),表示不完整。否则,新列将显示Complete 逻辑应产生下表: colA colB colC ABC IAH Compl

编辑问题


我的样本表如下:

colA        colB
ABC         IAH
DEADFSLJ    CI
            CI
            CI
AFDSJLKA222 CI
23940281    CI
我想采用以下逻辑: 如果colA是空字符串,colB是CI,则创建一个新列(ColC),表示不完整。否则,新列将显示Complete

逻辑应产生下表:

colA        colB    colC
ABC         IAH     Complete
DEADFSLJ    CI      Complete
            CI      Incomplete
            CI      Incomplete 
AFDSJLKA222 CI      Complete 
23940281    CI      Complete 
下面是我尝试的代码:

df_EVENT5_28['colC'] = np.where((df_EVENT5_28['colA'] == '') & (df_EVENT5_28['colB'] == 'CI'), 'Incomplete', 'Complete')
代码运行但产生以下错误:TypeError:无法将dtyped[bool]数组与[bool]类型的标量进行比较


想法

NaN==NaN
评估为False

使用
isnull()


该值似乎不是NaN。它可以是空字符串。可以尝试:
df_EVENT5_28['colC']=np.where((df_EVENT5_28['colA']='')和(df_EVENT5_28['colB']='CI'),'Complete','Complete')
`
 np.where((df_EVENT5_28['colA'].isnull()) & (df_EVENT5_28['colB'] == 'CI'), 'Incomplete', 'Complete')