在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单元格数据作为查询条件