如何在Python中使用NumPy通过重复元素对矩阵进行升频
对矩阵进行升频意味着对其进行扩展,显然升频可以通过在原矩阵中添加更多的元素来完成。它可以通过各种方式完成,如添加新元素并扩展原始矩阵,或者通过原始矩阵本身的矩阵元素完成。下面将讨论后一种方法以及2种方法来做同样的事情。
方法1:使用 repeat()
我们使用numpy.repeat()方法通过重复矩阵中的数字来对矩阵进行上样。我们在repeat()方法中传递矩阵,并以矩阵为轴进行上样。这个方法是用来重复数组的元素。
语法:
numpy.repeat(array, repeats, axis=0)
参数:
- array=数组的名称
- repeats= 每个元素的重复次数
- axis= 重复数值的轴。默认情况下,坐标轴被设置为无。
- 对于行轴=0,对于列轴=1。
步骤
- Import module
- Create array
- 将其传递给重复方法
- Print matrix
示例:
# importing required module
import numpy as np
# declaring an array
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# use the repeat function to upsample the array
print(np.repeat(a, 5, axis=1).repeat(3, axis=0))
输出:
方法2:
在这个方法中,我们将看到np.kron是如何用来对矩阵进行上采样的。我们在传递矩阵的同时也传递了一个矩阵,这两个矩阵将使用kron()方法相互乘以,结果将是一个上采样的矩阵。
语法:
np.kron(a ,b)
其中a和b是两个数组。
- 它返回两个数组的克朗克乘积。
- 它的参数是两个数组,它们的乘积要被计算出来
示例:
# import required libraries
import numpy as np
# creating an array using numpy
a = np.array([[9, 8, 5], [11, 12, 14], [20, 21, 22]])
# using kron function upsampling the array
upsampled_array = np.kron(a, np.ones((2, 2)))
# printing the desired result
print(upsampled_array)
输出 :