我知道此错误信息已经在此处讨论过,但我仍然无法弄清楚如何使这项工作。我正在尝试使用多个条件执行np.where语句。以下是我的代码。我收到错误消息“关键字不能是表达式”,它突出显示“aggregate ['Counter']> 1之后的空格。
aggregate['1'] = np.where(np.logical_and(aggregate['Counter'] > 1, aggregate['2'].shift(1) = aggregate['3']), 0, aggregate['2'])
答案 0 :(得分:6)
比较运算符为==
,而不是=
:
...aggregate['2'].shift(1) == aggregate['3']),...
^^ here
答案 1 :(得分:3)
你需要一个双等号:
aggregate['1'] = np.where(np.logical_and(aggregate['Counter'] > 1, aggregate['2'].shift(1) == aggregate['3']), 0, aggregate['2']