Автор оригинала: Team Python Pool.
Введение в Numpy outer
Numpy outer () – это функция в модуле numpy на языке python. Он используется для вычисления внешнего уровня продуктов , таких как векторы, массивы и т. Д. Если мы попытаемся объединить два вектора внешнего уровня массива, функция numpy outer() потребует более двух уровней аргументов, которые передаются в функцию. Это будет массивоподобный формат, то есть однопараметрические или многопараметрические аргументы. Мы можем сохранить результаты в параметре out. Если нам нужно выполнить научные вычисления в библиотеке numpy, они вычисляются с помощью точечных операторов.
Что такое Numpy outer() ?
Функция Numpy outer() используется для вычисления внешних произведений двух векторов.
Синтаксис
numpy.outer(a, b, out = None)
Параметры Numpy Outer
- a: array_like – Это первый входной вектор. Входные данные сглаживаются, если они не являются 1 – мерными.
- b: array_like – Это второй входной вектор. Входной сигнал сплющен , если он не является 1 – мерным.
- Out: ndarray – Это необязательно в функции. Это место, где мы храним результат.
Возвращаемое значение
Он возвращает результат в виде внешних произведений двух векторов. предположим, что i и j-это число значений в массиве a и b. тогда out[i, [i] * b[j].
Примеры наилучшего использования функции Numpy outer()
Давайте подробно разберемся в внешней функции модуля numpy с помощью примеров:
1. использование функции linspace для вычисления внешнего продукта numpy
Функция linspace() используется для равномерного возврата числовых пространств относительно интервала. В этом. мы импортируем библиотеку numpy как np. Затем мы примем входные данные как np.ones() и np.linspace(). Наконец, мы применим функцию numpy outer() для получения результата.
#Numpy outer() program #using linspace() import numpy as np x = np.ones(6) y = np.linspace(2, 6, 3) Output = np.outer(x, y) print("Result : ",Output)
Выход:
Result : [[2. 4. 6.] [2. 4. 6.] [2. 4. 6.] [2. 4. 6.] [2. 4. 6.] [2. 4. 6.]]
Объяснение:
Здесь, во-первых, мы импортировали модуль numpy как np. Во – вторых, мы использовали np.ones(6), что означает, что результат будет напечатан 6 раз. В-третьих, мы использовали функцию linspace, которая возвращает четные пространственные числа равномерно w,r,t интервал. np.linspace(2, 6, 3) означает, что из диапазона от 2 до 6 он будет разделен на 3 части, то есть 2, 4 и 6. Наконец, мы применили функцию numpy outer() и напечатали значение output. Следовательно, мы можем видеть, что вывод печатается на экране.
2. использование 1-d матрицы Для Вычисления Внешнего Продукта Numpy
В этом примере мы будем импортировать модуль numpy как np. Затем мы будем принимать входные данные в 1-d матрицу. Наконец, мы применим функцию numpy outer() для получения внешних произведений двух векторов или массивов.
#using a 1-d matrix #importing numpy as np import numpy as np arr1 = np.array([2, 6]) arr2 = np.array([5, 8]) print("Array1 : ",arr1) print("Array2 : ",arr2) output = np.outer(arr1, arr2) print("Result : ",output)
Выход:
Array1 : [2 6] Array2 : [5 8] Result : [[10 16] [30 48]]
Объяснение:
Здесь, во-первых, мы импортировали модуль numpy как np. Во-вторых, мы взяли входные данные двух 1-d массивов как np.array() в arr1 и arr2. В-третьих, мы напечатали значение обоих массивов как array1 и array2. Наконец, мы применили функцию numpy outer() и напечатали значение output. Вывод выводится так: arr1[0] умножается на оба значения arr2, а arr1[1] также умножается на оба значения arr2. Следовательно, мы можем видеть, что вывод печатается на экране.
3. использование 2-d матрицы Для Вычисления Numpy Внешнего Продукта
В этом примере мы будем импортировать модуль numpy как np. Затем мы будем принимать входные данные в 2-d матрицу. Наконец, мы применим функцию numpy outer() для получения внешних произведений двух векторов или массивов.
#using 2-d matrix #importing numpy as np import numpy as np arr1 = np.array([[2, 5], [3, 5]]) arr2 = np.array([[1, 2], [2, 6]]) print("Array1 : ",arr1) print("Array2 : ",arr2) output = np.outer(arr1, arr2) print("Result : ",output)
Выход:
Array1 : [[2 5] [3 5]] Array2 : [[1 2] [2 6]] Result : [[ 2 4 4 12] [ 5 10 10 30] [ 3 6 6 18] [ 5 10 10 30]]
Объяснение:
Здесь, во-первых, мы импортировали модуль numpy как np. Во-вторых, мы взяли входные данные двух 2-d массивов как np.array() в arr1 и arr2. В-третьих, мы напечатали значение обоих массивов как array1 и array2. Наконец, мы применили функцию numpy outer() и напечатали значение output. Вывод выводится так, как все значения arr1 умножаются на все значения arr2. Следовательно, мы можем видеть, что вывод печатается на экране.
4. использование 3-d матрицы Для Расчета Внешнего Продукта Numpy
В этом примере мы будем импортировать модуль numpy как np. Затем мы будем принимать входные данные в 3-d матрицу. Наконец, мы применим функцию numpy outer() для получения внешних произведений двух векторов или массивов.
#using 3-d matrix #importing numpy as np import numpy as np arr1 = np.array([[2, 1,3], [0, 2, 5], [0, 1, 2]]) arr2 = np.array([[1, 2, 3], [2, 5, 6], [2, 3, 4]]) print("Array1 : ",arr1) print("Array2 : ",arr2) output = np.outer(arr1, arr2) print("Result : ",output)
Выход:
Array1 : [[2 1 3] [0 2 5] [0 1 2]] Array2 : [[1 2 3] [2 5 6] [2 3 4]] Result : [[ 2 4 6 4 10 12 4 6 8] [ 1 2 3 2 5 6 2 3 4] [ 3 6 9 6 15 18 6 9 12] [ 0 0 0 0 0 0 0 0 0] [ 2 4 6 4 10 12 4 6 8] [ 5 10 15 10 25 30 10 15 20] [ 0 0 0 0 0 0 0 0 0] [ 1 2 3 2 5 6 2 3 4] [ 2 4 6 4 10 12 4 6 8]]
Объяснение:
Здесь, во-первых, мы импортировали модуль numpy как np. Во-вторых, мы взяли входные данные двух 3-d массивов как np.array() в arr1 и arr2. В-третьих, мы напечатали значение обоих массивов как array1 и array2. Наконец, мы применили функцию numpy outer() и напечатали значение output. Вывод выводится так, как все значения arr1 умножаются на все значения arr2. Следовательно, мы можем видеть, что вывод печатается на экране.
5. использование параметра out Для Расчета Внешнего Продукта Numpy
В этом примере мы будем импортировать модуль numpy как np. Затем мы будем принимать входные данные в 1-d матрицу. Затем мы будем указывать параметр out в результате той же формы, что и вход. Наконец, мы применим функцию numpy outer() для получения внешних произведений двух векторов или массивов.
#using out parameter #importing numpy as np import numpy as np arr1 = np.array([2, 6]) arr2 = np.array([5, 8]) result = np.zeros((2,2)) print("Array1 : ",arr1) print("Array2 : ",arr2) output = np.outer(arr1, arr2, out = result) print("Result : ",output)
Выход:
Array1 : [2 6] Array2 : [5 8] Result : [[10. 16.] [30. 48.]]
Объяснение:
Здесь, во-первых, мы импортировали модуль numpy как np. Во-вторых, мы взяли входные данные двух 1-d массивов как np.array() в arr1 и arr2. В-третьих, мы напечатали значение обоих массивов как array1 и array2. Наконец, мы применили функцию numpy outer() without в качестве параметра и напечатали значение output в переменной result. Вывод выводится так: arr1[0] умножается на оба значения arr2, а arr1[1] также умножается на оба значения arr2. Следовательно, мы можем видеть, что вывод печатается на экране.
Numpy outer() vs Numpy Inner()
Numpy . outer() : Функция Numpy outer() используется для вычисления внешних произведений двух векторов.
Numpy.inner(): Функция Numpy outer() используется для вычисления внутренних произведений двух массивов.
Давайте разберемся в этом на примере:
взятие 1-d массива
import numpy as np arr1 = np.array([1,2,3]) arr2 = np.array([4,5,6]) print("output : ",np.outer(arr1,arr2)) print("\n") print("output : ",np.inner(arr1,arr2))
Выход:
output : [[ 4 5 6] [ 8 10 12] [12 15 18]] output : 32
Объяснение:
Здесь, во-первых, мы импортировали модуль numpy как np. Во-вторых, тогда мы должны взять два входных массива как arr1 и arr2. В-третьих, мы применили outer() и inner() и напечатали вывод. Итак, в outer(), мы видим, что все arr1 и arr2 умножаются сами и образуют матрицу, а во внутреннем() мы видим, что каждое значение умножается на свой же индекс и складывается само, а затем дает результат.
Numpy outer() vs Numpy dot()
Numpy.outer(): Функция Numpy outer() используется для вычисления внешних произведений двух векторов.
Numpy.dot(): Функция Numpy dot() используется для вычисления точечного произведения двух массивов.
Давайте разберемся в этом на примере:
#outer() vs dot() import numpy as np arr1 = np.array([[1,2], [4,5]]) arr2 = np.array([[7,8], [10,11]]) print("Outer() : ",np.outer(arr1,arr2)) print("\n") print("dot() : ",np.dot(arr1,arr2))
Выход:
Outer() : [[ 7 8 10 11] [14 16 20 22] [28 32 40 44] [35 40 50 55]] dot() : [[27 30] [78 87]]
ЗАПИСКА:
REMEMBER: for dot product the array should always be square dot function is calculated as dot() = [[1*7 + 2*10 , 1*8 + 2*11], [4*7 + 5*10, 4*8 + 5*11]
Объяснение:
Здесь, во-первых, мы импортировали numpy как np. Во-вторых, мы взяли в качестве входных данных два массива arr1 и arr2. В-третьих, мы применили outer() и dot() и напечатали вывод. В примечании я объяснил вам, как вычисляется точечный продукт. Следовательно, мы можем видеть выход и разницу между внешним() и точечным().
Вывод
В этом уроке мы обсудили внешнюю функцию модуля numpy. Все параметры подробно описаны. С помощью примеров вы можете понять концепцию в деталях. Вы можете использовать параметр out в соответствии с потребностями проекта и программы.