Какой способ лучше использовать для сравнения двух массивов numpy: np.array_equal() или (A == B).all()?

Какая из операций более эффективна для сравнения массивов: `np.array_equal` или `(A == B).all()`?
  • 11 августа 2024 г. 10:43
Ответы на вопрос 2
Для сравнения двух массивов numpy рекомендуется использовать функцию `np.array_equal()`, так как она позволяет сравнивать массивы любой формы и размера, в то время как оператор `(A == B).all()` подходит только для массивов одинаковой формы и размера.

По эффективности `np.array_equal()` обычно работает быстрее, чем `(A == B).all()`, так как внутри она использует оптимизированный алгоритм для сравнения массивов. Однако, эффективность может зависеть от размеров и типов данных массивов, поэтому лучше провести собственные тесты для конкретной задачи.
Правда, есть у меня уверенность, что A == B создаёт временный массив, так что это менее эффективно по памяти. А вот делает ли так array_equal() - не знаю. 

EDIT: открыл исходники функции...
return builtins.bool((a1 == a2).all())
Ну ты понел.
Похожие вопросы