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')