【NumPy】Python NumPy基礎編(配列:結合)
こんにちは
今日はNumPyの基本的な使用方法について話していきたいと思います!
できること
など・・・
Numpyの使い方になれていない方は、まずはこちらの記事をご覧ください。
ベクトルの結合
まずはベクトルの結合です。以下のベクトルを例とします。
v = np.arange(5)
u = np.arange(0, 6, 2)
np.append()
np.append()を使えば簡単に右側から結合することができます。
np.append(v, u)
>>>array([0, 1, 2, 3, 4, 0, 2, 4])
行列の結合
2次元配列
次に行列の結合です。以下の行列を例とします。
a1 = a
a2 = a.T
print(a1)
print(a2)
>>>[[1 2 3]
[4 5 6]
[7 8 9]]
>>>[[1 4 7]
[2 5 8]
[3 6 9]]
np.append()
ベクトルと同様に行列にもnp.append()を適用することができます。
しかしながら、結合の際にn×m行列からサイズがn・mのベクトルになります。
np.append(a1,a2)
>>>array([1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 4, 7, 2, 5, 8, 3, 6, 9])
np.vstack()
vstack()は行列を縦方向に結合することができます。
np.vstack((a1,a2))
>>>array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[1, 4, 7],
[2, 5, 8],
[3, 6, 9]])
np.hstack()
np.hstackは行列を横方向に結合することができます。
np.hstack((a1,a2))
>>>
array([[1, 2, 3, 1, 4, 7],
[4, 5, 6, 2, 5, 8],
[7, 8, 9, 3, 6, 9]])
3次元配列
最後に3次元配列です。
例えば、地球惑星科学科では全球のモデルや観測データで多次元の配列を多く活用します
今回は例として、以下のように行列を作成しました。
b1 = np.arange(3*3*3).reshape(3,3,3)
b1
>>>array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
np.vstack()
np.vstack()のvはverticallyを意味します。したがって、例に従うと時間軸方向に結合ができます。
np.vstack((b1,b1))
>>>array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]],
[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
np.hstack()
np.vstack()のhはhorizontallyを意味します。したがって、例に従うと水平軸方向に結合ができます。
np.hstack((b1,b1))
>>>array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17],
[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26],
[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
それでは🌏
最終更新日
2021/1/1