Python 如何根据条件在pandas中创建另一列?
我有两个专栏——Punchout和Contract。 我想要一个目录标志列,如果Punchout和Contract都是NAN,则为FALSE,否则为TRUE。 我编写了以下代码:Python 如何根据条件在pandas中创建另一列?,python,pandas,Python,Pandas,我有两个专栏——Punchout和Contract。 我想要一个目录标志列,如果Punchout和Contract都是NAN,则为FALSE,否则为TRUE。 我编写了以下代码: req_line['Catalog_Flag'] = np.where((req_line['Contract']) & (req_line['Punchout']) = '[]',False,True) 但它抛出的错误是:SyntaxError:expression不能包含赋值,可能您的意思是“==”? 还
req_line['Catalog_Flag'] = np.where((req_line['Contract']) & (req_line['Punchout']) = '[]',False,True)
但它抛出的错误是:SyntaxError:expression不能包含赋值,可能您的意思是“==”?
还有别的办法吗?请帮忙
样本数据
Contract | Punchout | Flag
NaN | NaN | False
NaN | Computer Information | True
Non-CLM0_Cat_01 | NaN | True
用于识别nan
:
req_line['Catalog_Flag'] = np.where(req_line['Contract'].isna() & req_line['Punchout'].isna(), False, True)
用于识别nan
:
req_line['Catalog_Flag'] = np.where(req_line['Contract'].isna() & req_line['Punchout'].isna(), False, True)
此处为
np。如果不需要
,只需使用~
进行反转遮罩:
对于按位或
的|
无缺失值时,通过以下方式进行类似测试:
此处为
np。如果不需要
,只需使用~
进行反转遮罩:
对于按位或
的|
无缺失值时,通过以下方式进行类似测试:
您是否尝试
==
?你能添加一些样本数据吗?是的,我试过了。编辑问题并添加示例数据。是否尝试==
?你能添加一些样本数据吗?是的,我试过了。编辑问题并添加示例数据。
req_line['Catalog_Flag'] = req_line['Contract'].notna() | req_line['Punchout'].notna()
print (req_line)
Contract Punchout Flag Catalog_Flag
0 NaN NaN False False
1 NaN Computer Information True True
2 Non-CLM0_Cat_01 NaN True True