Numpy二维数组的上三角

Numpy二维数组的上三角

在本文中,我们将介绍如何使用Numpy获取一个二维数组的上三角矩阵。

要获取一个二维数组的上三角矩阵,我们需要使用Numpy中的triu函数。下面是一个示例代码:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
upper_tri = np.triu(arr)

print(upper_tri)

上面的代码中,我们首先创建了一个3×3的二维数组arr,然后使用triu函数获取了其上三角矩阵并将结果存储在upper_tri变量中。最后,我们打印了upper_tri变量中的内容。

执行上述代码将会输出以下结果:

array([[1, 2, 3],
       [0, 5, 6],
       [0, 0, 9]])

结果显示,upper_tri变量中保存的是arr的上三角矩阵。由于arr的左下角三个元素为0,因此在上三角矩阵中它们被替换为0。

我们可以使用花式索引来获取上三角矩阵中的非零元素,并将它们存储在一维数组中。下面是一个示例代码:

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
upper_tri = np.triu(arr)

non_zero = upper_tri[upper_tri != 0]
print(non_zero)

上面的代码中,我们首先创建了一个3×3的二维数组arr,然后使用triu函数获取了其上三角矩阵并将结果存储在upper_tri变量中。接着,我们使用upper_tri != 0作为条件来获取upper_tri中非零元素的布尔索引,将它们传递给upper_tri作为花式索引的参数,最终将结果存储在non_zero变量中。最后,我们打印了non_zero变量中的内容。

对于上面的示例代码,执行后将会输出以下结果:

array([1, 2, 3, 5, 6, 9])

结果显示,non_zero变量中保存的是upper_tri中的非零元素。

阅读更多:Numpy 教程

总结

使用Numpy的triu函数可以快速获取一个二维数组的上三角矩阵。使用花式索引可以方便地获取上三角矩阵中的非零元素。这是Numpy在数据科学中的强大功能之一。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程