在 python 中复制 excel 条件语句

Replicate excel condition statement in python

我正在尝试将 If 语句从 excel 转换为 python。

我知道对于 excel,如果语句我们有:

IF(logical_test, [value_if_true], [value_if_false])

对于 Python 我想复制下面的 excel if 语句。

AZ2 = IF(BA2<>"",IF(BB2<>"",BB2,"Blank"), IF(BO2<>"", BO2, "Blank"))

这里AZ2,BA2,BB2,BO2是excel文件中的列,<>代表excel.

中的不相等

我尝试使用 np.where 使用以下代码,但它不起作用?你知道我做错了什么吗?

 df['AZ']=np.where(df['BA'].notnull(),
 np.where(df['BB'].notnull(),df['BB'],'Blank',
 np.where(df['BO'].notnull(),df['BO'],'Blank')))

我在尝试执行它时遇到此错误。

Type Error: where() takes at most 3 arguments (4 given) 

有什么建议吗?

问题出在第一个 Blank 之后缺少的括号和语句末尾的额外括号。
你可以试试这个:

 df['AZ']=np.where(df['BA'].notnull(),
                   np.where(df['BB'].notnull(), 
                            df['BB'],
                            'Blank'),
                   np.where(df['BO'].notnull(),
                            df['BO'],
                            'Blank'))