Obtenga el producto externo de una array con un vector de letras usando NumPy en Python

En este artículo, veamos cómo obtener el producto externo de una array con un vector de letras en Python.

método numpy.outer()

El método numpy .outer() se usa para obtener el producto externo de una array con un vector de elementos en Python . Una array es el producto exterior de dos vectores de coordenadas en álgebra lineal. El producto exterior de dos vectores con dimensiones de n y m es la array m*n . En general, el producto exterior de dos tensores (arrays multidimensionales de números) es un tensor. El álgebra tensorial se define por el producto tensorial, a menudo conocido como el producto exterior de los tensores. Entonces, para decirlo de otra manera, el producto exterior es el producto de todos los elementos del primer vector con todos los elementos del segundo vector.

Ejemplo:

Input: a = [a0, a1, ..., aM] and b = [b0, b1, ..., bN]

Output:

[[a0*b0  a0*b1 ... a0*bN ]
[a1*b0   a1*b1 ... a0*bN ]
[ ...    ...        ...  ]  
[aM*b0            aM*bN ]]

Sintaxis: numpy.outer(a, b, out=Ninguno)

Parámetros: 

  • a: (M,) objeto tipo array. El vector de entrada inicial. Si la entrada aún no es unidimensional, se aplana.
  • b: (N,) objeto tipo array. Segundo vector de entrada. Si la entrada aún no es unidimensional, se aplana.
  • out: (M, N) ndarray, valor opcional. La ubicación donde se guarda el resultado

Retorno: salida (M, N) ndarray. el resultado es out[i, j] = a[i] * b[j].

Ejemplo 1

Aquí, crearemos dos vectores NumPy usando el método np.array() , uno que es un vector de letras y otro es un vector de números. El atributo .ndim se usa para conocer las dimensiones de la array, el atributo .shape se usa para encontrar la forma del vector. El método np.outer() se usa para encontrar el producto externo de los vectores creados. ahora, si verificamos la primera línea de salida, es [g*1, g*2, g*3, g*4], lo mismo ocurre con todos los demás elementos en el vector de letras.

Python3

# importing packages
import numpy as np
 
# creating arrays using np.array() method
#  vector of letters
arr1 = np.array(['g', 'e', 'e', 'k'], dtype=object)
# #  integer array
arr2 = np.array([1, 2, 3, 4])
#
# # Display the arrays
print("Array of letters is :", arr1)
print("Array of numbers is :", arr2)
#
# # Checking the dimensions
print("Array one dimension :", arr1.ndim)
print("Array two dimension", arr2.ndim)
#
# # Checking the shape of the arrays
print("Shape of array 1 is : ", arr1.shape)
print("Shape of array 2 is : ", arr2.shape)
 
# # outer product of the vectors
print("Outer product : \n", np.outer(arr1, arr2))

Producción:

Array of letters is : ['g' 'e' 'e' 'k']
Array of numbers is : [1 2 3 4]
Array one dimension : 1
Array two dimension 1
Shape of array 1 is :  (4,)
Shape of array 2 is :  (4,)
Outer product : 
 [['g' 'gg' 'ggg' 'gggg']
 ['e' 'ee' 'eee' 'eeee']
 ['e' 'ee' 'eee' 'eeee']
 ['k' 'kk' 'kkk' 'kkkk']]

Ejemplo 2

En este ejemplo, estamos creando una array de enteros para encontrar el producto exterior de los vectores creados. ahora, si verificamos la primera línea de salida, es [g*1, g*2, g*3, g*4], lo mismo ocurre con todos los demás elementos en el vector de letras.

Python3

# importing packages
import numpy as np
 
# creating arrays using np.array() method
#  vector of letters
arr1 = np.array([5, 6, 7, 8], dtype=object)
# #  integer array
arr2 = np.array([1, 2, 3, 4])
#
# # Display the arrays
print("Array of letters is :", arr1)
print("Array of numbers is :", arr2)
#
# # Checking the dimensions
print("Array one dimension :", arr1.ndim)
print("Array two dimension", arr2.ndim)
#
# # Checking the shape of the arrays
print("Shape of array 1 is : ", arr1.shape)
print("Shape of array 2 is : ", arr2.shape)
 
# # outer product of the vectors
print("Outer product : \n", np.outer(arr1, arr2))

Producción:

Array of letters is : [5 6 7 8]
Array of numbers is : [1 2 3 4]
Array one dimension : 1
Array two dimension 1
Shape of array 1 is :  (4,)
Shape of array 2 is :  (4,)
Outer product : 
 [[5 10 15 20]
 [6 12 18 24]
 [7 14 21 28]
 [8 16 24 32]]

Publicación traducida automáticamente

Artículo escrito por sarahjane3102 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *