Numpy寻找NumPy中的所有n维线和对角线
在本文中,我们将介绍如何使用NumPy在多维数组中找到所有n维线和对角线。
阅读更多:Numpy 教程
什么是n维线和对角线?
在数学和计算机科学中,一维线(也称为线段)是长度为1的实数轴段。二维线是平面上的直线,三维线是空间中的直线。n维线是n维空间中的直线。
对角线是一个几何图形的内部从一端到另一端的连续路径,通常由不共线点对的一系列线段组成。在一个矩阵或多维数组中,对角线是从左上角到右下角的一系列数字。
如何找到n维线和对角线
在NumPy中,我们可以使用numpy.diagonal和numpy.trace函数来找到一个矩阵或多维数组的对角线。numpy.diagonal函数返回矩阵或多维数组的主对角线,或可选地返回指定偏移量的对角线,例如:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.diagonal(a)) # [1 5 9]
print(np.diagonal(a, offset=1)) # [2 6]
numpy.trace函数返回一个矩阵或多维数组的主对角线之和,或可选地返回指定偏移量的对角线之和,例如:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.trace(a)) # 15
print(np.trace(a, offset=1)) # 8
在多维数组中,我们可以使用numpy.newaxis关键字添加新的维度来找到n维线。例如,在3维数组中,我们可以使用以下代码来找到x轴上的n维线:
import numpy as np
a = np.array([[[1,2],[3,4]],[[5,6],[7,8]]])
print(a[:,0,:]) # [[1 2],[5 6]]
在此示例中,a[:,0,:]返回第一维的所有部分,第二维的第一个部分,第三维的所有部分,这就是x轴上n维线的数组。
总结
在本文中,我们介绍了如何使用NumPy在多维数组中找到所有n维线和对角线。我们使用了numpy.diagonal和numpy.trace函数来找到一个矩阵或多维数组的对角线,并介绍了如何使用numpy.newaxis添加新的维度来找到n维线。
极客教程