在 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'))
我正在尝试将 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'))