在np.where()内部大于n的第一个值

时间:2019-07-02 12:34:18

标签: python pandas numpy if-statement where-clause

我需要从trades_right中某一列的每一行中减去trades_left中某列的每一行,以找到满足这些差异的两个条件的所有场合。如果两个条件都满足,则预期结果是列(indicator2)的值为1,否则为0。 我对第二种情况有疑问,我尝试找出trades_left['ms']trades_right['ms']之间的最小差异,该差异大于或等于1。我从这里开始使用方法2:{{3 }}

代码:

for row in trades_left:
    trades_left['indicator2'] = np.where(((trades_left['indicator'] - trades_right['indicator']) == -1) & ((trades_left['ms'] - trades_right['ms']) = min((trades_left['ms'] - trades_right['ms']) for (trades_left['ms'] - trades_right['ms']) in trades_left if (trades_left['ms'] - trades_right['ms']) >= 1)), 1, 0)

错误:

  File "<ipython-input-79-3fcf3d6fb7a4>", line 2
    trades_left['indicator2'] = np.where(((trades_left['indicator'] - trades_right['indicator']) == -1) & ((trades_left['ms'] - trades_right['ms']) == min((trades_left['ms'] - trades_right['ms']) for (trades_left['ms'] - trades_right['ms']) in trades_left if (trades_left['ms'] - trades_right['ms']) >= 1)), 1, 0)
                                                                                                                                                                                                       ^
SyntaxError: can't assign to operator

[编辑]在注释中添加了建议,现在出现另一个错误。在(trades_left['ms'] - trades_right['ms'])之后,我也尝试过in。 我链接的方法可能不适用于两个数据框,因此,我很感谢有关如何考虑第二个条件的建议。

0 个答案:

没有答案