欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

numpy.triu()和numpy.tril()

程序员文章站 2024-03-15 14:06:17
...

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

相关标签: Framework