【发布时间】:2021-07-02 15:17:45
【问题描述】:
我想创建如下条件来评估 HUB 状态 ...
- CUR_RULE=DEFAULT 和 PREV_RULE=DEFAULT,然后ok。
- CUR_RULE=DEFAULT 和 PREV_RULE!=DEFAULT,然后不行。
- CUR_RULE!=DEFAULT 和 PREV_RULE=DEFAULT,然后ok。
- CUR_RULE!=DEFAULT 和 PREV_RULE!=DEFAULT,然后ok。
我正在尝试运行以下代码:
df3=df1[df1['STATUS']=='CHANGED']
df3.insert(7, 'HUB STATUS','')
df3.insert(8, 'COMMENT','')
if df3[df3['CUR_RULE']=='DEFAULT'] and df3[df3['PREV_RULE']=='DEFAULT']:
df3['HUB STATUS']='OK'
elif df3[df3['CUR_RULE']=='DEFAULT'] and df3[df3['PREV_RULE']!='DEFAULT']:
df3['HUB STATUS']='NOT OK'
elif df3[df3['CUR_RULE']!='DEFAULT'] and df3[df3['PREV_RULE']=='DEFAULT']:
df3['HUB STATUS']='OK'
else:
df3['HUB STATUS']='NOT OK'
我收到此错误:
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
【问题讨论】:
-
添加pandas标签,如果你真的在使用pandas模块
-
为了正确响应您的请求,请提供您的输入数据框示例。您的错误的直接原因似乎在以下代码行和您使用类似结构的其他地方:
df3[df3['CUR_RULE']=='DEFAULT']问题是 == 左侧的因素是熊猫系列,而不是单个值,但您正在尝试与单个值进行比较。
标签: python-3.x dataframe