【Python】マトリクスの接続操作
1803 ワード
マトリクスをどのようにつなぎ合わせるかには、いろいろな方法がありますが、覚えていてシステムではありません.ここでは、いくつかの方法を簡単に記録します.
1、同じshapeのマトリクスをリストに入れ、リストをマトリクスに変換します.
この方法は,ピクチャを操作するのに適しており,ピクチャを前処理する際に,それぞれのピクチャを操作し,処理後のピクチャappendを1つのリストに変換し,リストをマトリクスに変換した結果,多くのピクチャからなるマトリクスとなる.
サンプルコードは次のとおりです.
2、np.concatenateの使用
同じshape行列のリストをappendで完了するnp.concatenate操作は、マトリクスを行でつなぐことに相当します.例えばcifar−10では、5つのトレーニングデータをつなぎ合わせる.
サンプルコードは次のとおりです.
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)