在python中复制excel条件语句

Posted

技术标签:

【中文标题】在python中复制excel条件语句【英文标题】:Replicate excel condition statement in python 【发布时间】:2021-11-26 21:30:09 【问题描述】:

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

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

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) 

有什么建议吗?

【问题讨论】:

【参考方案1】:

问题来自于第一个 Blank 后面缺少的括号和语句末尾的多余括号。 你可以试试这个:

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

【讨论】:

以上是关于在python中复制excel条件语句的主要内容,如果未能解决你的问题,请参考以下文章

Excel表中连接sql并使用sql语句引用excel单元格数据作为查询条件

Python的if 条件语句

如何把Excel数据转化成SQL语句

Excel表中连接sql并使用sql语句引用excel单元格数据作为查询条件

excel 里面sumif语句的双重判定条件怎么写

可以在bash的命令中使用条件语句吗? [复制]