РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
467 of 541 menu

Метод outer

Метод outer класса ufunc вычисляет внешнее произведение для двух массивов. Он применяет универсальную функцию ко всем парам элементов из первого и второго массива. Первым параметром передаётся массив A, вторым - массив B. Результатом является двумерный массив, где элемент с индексами (i, j) равен результату применения функции к элементам A[i] и B[j].

Синтаксис

np.ufunc.outer(A, B, **kwargs)

Пример

Давайте вычислим внешнее произведение двух одномерных массивов с помощью функции multiply:

import numpy as np A = np.array([1, 2, 3]) B = np.array([4, 5, 6]) res = np.multiply.outer(A, B) print(res)

Результат выполнения кода:

[[ 4 5 6] [ 8 10 12] [12 15 18]]

Пример

Используем метод outer с функцией add для создания матрицы сумм:

import numpy as np A = np.array([1, 2, 3, 4]) B = np.array([10, 20, 30]) res = np.add.outer(A, B) print(res)

Результат выполнения кода:

[[11 21 31] [12 22 32] [13 23 33] [14 24 34]]

Пример

Метод outer также работает с многомерными массивами. Рассмотрим пример с функцией power:

import numpy as np A = np.array([[1, 2], [3, 4]]) B = np.array([2, 3]) res = np.power.outer(A, B) print(res)

Результат выполнения кода:

[[[ 1 1] [ 2 3]] [[ 4 8] [ 9 27]] [[ 9 27] [16 64]]]

Пример

Используем метод outer с функцией logical_or для вычисления внешней дизъюнкции:

import numpy as np A = np.array([True, False]) B = np.array([True, True, False]) res = np.logical_or.outer(A, B) print(res)

Результат выполнения кода:

[[ True True True] [ True True False]]

Смотрите также

  • класс ufunc,
    который является базовым для всех универсальных функций
  • метод reduce,
    который последовательно применяет функцию к элементам массива
  • метод accumulate,
    который накапливает результаты применения функции
  • метод at,
    который применяет функцию к элементам по заданным индексам
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить