在Python中使用NumPy获取数组与字母矢量的外积

在Python中使用NumPy获取数组与字母矢量的外积

在这篇文章中,让我们看看如何在Python中得到一个数组与一个字母矢量的外积。

numpy.outer() 方法

在Python中,numpy .outer()方法用于获得一个数组与一个元素矢量的外积。矩阵是线性代数中两个坐标向量的外积。尺寸为n和m的两个向量的外积是m*n矩阵。一般来说,两个张量(多维数组)的外积是一个张量。张量代数是由张量积定义的,通常被称为张量的外积。因此,换一种说法,外积是第一个向量的所有元素与第二个向量的所有元素的乘积。

示例:

输入:

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

输出:

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

语法: numpy.outer(a, b, out=None)

参数:

  • a: (M,) array_like对象。初始输入向量。如果输入不是一维的,就会被压扁。
  • b: (N,) array_like对象。输入的第二个向量。如果输入不是一维的,就会被压扁。
  • out: (M, N) ndarray, 可选值。结果被保存的位置

结果是out[i, j] = a[i] * b[j]

示例 1

这里,我们将使用np.array()方法创建两个NumPy向量,一个是字母向量,另一个是数字向量。.ndim属性用于了解数组的尺寸,.shape属性用于查找向量的形状。np.outer()方法用于查找创建的向量的外积。

# 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))

输出:

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']]

示例 2

在这个例子中,我们正在创建一个整数数组来寻找创建的向量的外积。现在如果我们检查第一行的输出,它是[g1, g2, g3, g4],字母向量中的其他每个元素也是如此。

# 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))

输出:

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]]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy教程