【Python】マトリクスの接続操作

1803 ワード

マトリクスをどのようにつなぎ合わせるかには、いろいろな方法がありますが、覚えていてシステムではありません.ここでは、いくつかの方法を簡単に記録します.
1、同じshapeのマトリクスをリストに入れ、リストをマトリクスに変換します.
この方法は,ピクチャを操作するのに適しており,ピクチャを前処理する際に,それぞれのピクチャを操作し,処理後のピクチャappendを1つのリストに変換し,リストをマトリクスに変換した結果,多くのピクチャからなるマトリクスとなる.
サンプルコードは次のとおりです.
a
Out[29]: 
array([[9, 1, 5],
       [5, 6, 5]])
------------------------------------------------
b
Out[30]: 
array([[1, 4, 1],
       [3, 5, 9]])
------------------------------------------------
c = []
c.append(a)
c.append(b)
------------------------------------------------
c
Out[34]: 
[array([[9, 1, 5],
        [5, 6, 5]]), array([[1, 4, 1],
        [3, 5, 9]])]
------------------------------------------------
d = np.array(c)
------------------------------------------------
d
Out[36]: 
array([[[9, 1, 5],
        [5, 6, 5]],
       [[1, 4, 1],
        [3, 5, 9]]])
------------------------------------------------
a.shape
Out[37]: (2, 3)
------------------------------------------------
b.shape
Out[38]: (2, 3)
------------------------------------------------
d.shape
Out[39]: (2, 2, 3)

2、np.concatenateの使用
同じshape行列のリストをappendで完了するnp.concatenate操作は、マトリクスを行でつなぐことに相当します.例えばcifar−10では、5つのトレーニングデータをつなぎ合わせる.
サンプルコードは次のとおりです.
import numpy as np
a = np.random.randint(1, 10, (2, 3))
b = np.random.randint(1, 10, (2, 3))
-------------------------------------------------------
a
Out[5]: 
array([[6, 9, 1],
       [2, 8, 1]])
-------------------------------------------------------
b
Out[6]: 
array([[4, 3, 9],
       [4, 5, 2]])
-------------------------------------------------------
c = []
c.append(a)
c.append(b)
-------------------------------------------------------
d = np.concatenate(c)
-------------------------------------------------------
d.shape
Out[11]: (4, 3)