Мне нужно вычесть каждую строку в определенном столбце в trades_right
из каждой строки в определенном столбце в trades_left
, чтобы найти все случаи, когда выполняются два условия для этих различий. Ожидаемый результат - столбец (indicator2
) с 1, если оба условия выполнены, и 0 в противном случае.
У меня проблема со вторым условием, когда я пытаюсь найти минимальную разницу между trades_left['ms']
и trades_right['ms']
, которая больше или равна 1. Я использовал метод № 2 здесь: https://www.geeksforgeeks.org/python-find-smallest-element-greater-than-k/
Код:
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
.
Возможно, метод, который я связал, неприменим для двух фреймов данных, поэтому я был бы признателен за предложения о том, как учитывать второе условие.