Логическое И / битовое ИЛИ в панде

Я пытаюсь использовать булеву маску, чтобы получить совпадение из 2 разных фреймов данных. U

Используя логический оператор ИЛИ:

x = df[(df['A'].isin(df2['B']))
      or df['A'].isin(df2['C'])]

Output:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

Однако, используя побитовый оператор ИЛИ, результаты возвращаются успешно.

x = df[(df['A'].isin(df2['B']))
      | df['A'].isin(df2['C'])]

Output: x

Есть ли разница в обоих и будет ли побитовый ИЛИ лучшим вариантом здесь? Почему не работает логическое ИЛИ?

Ответы на вопрос(1)

Ваш ответ на вопрос