numpy-np.eye、np.diag与np.tile

1.np.eye

numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C')

説明

対角線上に1、他の場所に0の2次元配列を返します

パラメータ

N:int
によって出力される行数

M:int、オプション
出力の列数。Noneの場合、デフォルトはNです。

k:int、オプションの
対角インデックス:0(デフォルト)は主対角を示し、正の値は上対角を示し、負の値は下対角を示します。

d:type、data-type、optional
は配列のデータ型を返します

順序:{'C'、 'F'}、オプション
メモリ内では、出力は行メイン(cスタイル)または列メイン(Fortranスタイル)の順序で格納する必要があります

戻る

I:形状のndarray(N、M)
すべての要素がゼロに等しい配列(値が1に等しいk番目の対角線を除く)

インスタンス

np.eye(2, dtype=int)

array([[1, 0],
       [0, 1]])


np.eye(3, k=1)

array([[0.,  1.,  0.],
       [0.,  0.,  1.],
       [0.,  0.,  0.]])

2.np.diag

numpy.diag(v, k=0)

説明

対角線を抽出するか、対角線配列を作成します

パラメータ

v:array_like
vが2次元配列の場合、k番目の対角線のコピーを返します。
vが1次元配列の場合、2次元配列を返します。ここで、vはk番目の対角線上にあります。

k:int、オプションの
対角線。デフォルト値は0です。主対角線の上の対角線にk> 0を使用し、主対角線の下の対角線にk <0を使用します

戻る

抽出された対角配列または構築された対角配列

インスタンス

x = np.arange(9).reshape((3,3))

array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])


np.diag(x)

array([0, 4, 8])


np.diag(x, k=1)

array([1, 5])


np.diag(x, k=-1)

array([3, 7])


np.diag(np.diag(x))

array([[0, 0, 0],
       [0, 4, 0],
       [0, 0, 8]])

3.np.tile

numpy.tile(A, reps)

説明

担当者
指定した回数を繰り返して配列を作成するブロードキャストにはタイルを使用できますが、numpyのブロードキャスト操作と機能を使用することを強くお勧めします

パラメータ

A:array_like
入力配列

担当者:array_likeA
が各軸で繰り返される回数

戻る

アレイ

インスタンス

a = np.array([0, 1, 2])

np.tile(a, 2)
array([0, 1, 2, 0, 1, 2])


np.tile(a, (2, 2))
array([[0, 1, 2, 0, 1, 2],
       [0, 1, 2, 0, 1, 2]])


np.tile(a, (2, 1, 2))
array([[[0, 1, 2, 0, 1, 2]],
       [[0, 1, 2, 0, 1, 2]]])


b = np.array([[1, 2], [3, 4]])
np.tile(b, 2)
array([[1, 2, 1, 2],
       [3, 4, 3, 4]])


np.tile(b, (2, 1))
array([[1, 2],
       [3, 4],
       [1, 2],
       [3, 4]])

おすすめ

転載: blog.csdn.net/weixin_46649052/article/details/112688291