我需要从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
。
我链接的方法可能不适用于两个数据框,因此,我很感谢有关如何考虑第二个条件的建议。