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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章