numpy.triu()和numpy.tril()

在这里插入图片描述triu():返回上三角(Upper triangle)。用k 指定对角线,主对角线为k=0,右上的对角线用k>0,左下的对角线用k<0,返回包括该对角线的上三角。

tril():返回下三角(Lower triangle)。用k 指定对角线,主对角线为k=0,右上的对角线用k>0,左下的对角线用k<0,返回包括该对角线的下三角。


In [1]: import numpy as np

In [2]: arr=np.arange(12).reshape(4,3)  #以非方阵为例

In [3]: arr
Out[3]:
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])

In [4]: np.triu(arr,k=0)
Out[4]:
array([[0, 1, 2],
       [0, 4, 5],
       [0, 0, 8],
       [0, 0, 0]])

In [5]: np.triu(arr,k=1)
Out[5]:
array([[0, 1, 2],
       [0, 0, 5],
       [0, 0, 0],
       [0, 0, 0]])

In [6]: np.triu(arr,k=2)
Out[6]:
array([[0, 0, 2],
       [0, 0, 0],
       [0, 0, 0],
       [0, 0, 0]])

In [7]: np.tril(arr,k=0)
Out[7]:
array([[ 0,  0,  0],
       [ 3,  4,  0],
       [ 6,  7,  8],
       [ 9, 10, 11]])

In [8]: np.tril(arr,k=1)
Out[8]:
array([[ 0,  1,  0],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])

In [9]: np.tril(arr,k=-1)
Out[9]:
array([[ 0,  0,  0],
       [ 3,  0,  0],
       [ 6,  7,  0],
       [ 9, 10, 11]])

In [10]: np.tril(arr,k=-2)
Out[10]:
array([[ 0,  0,  0],
       [ 0,  0,  0],
       [ 6,  0,  0],
       [ 9, 10,  0]])

In [11]:

发布了67 篇原创文章 · 获赞 27 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/xpy870663266/article/details/104847869