【Python】 配列の結合
使用する配列
import numpy as np
# サンプル配列の用意
# 2行5列
a = np.arange(10).reshape(2,5)
# 3行5列
b = np.arange(15).reshape(3,5)
# 2行4列
c = np.arange(8).reshape(2,4)
# 1行5列
d = list(range(5))
# 作成した配列をprintして中身を確認
print(a)
print("\n")
print(b)
print("\n")
print(c)
print("\n")
print(d)
<実行結果>
[[0 1 2 3 4]
[5 6 7 8 9]]
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
[[0 1 2 3]
[4 5 6 7]]
[0, 1, 2, 3, 4]
縦方向に結合
列数が同じ場合に使用できる
# 5行5列へ
e = np.vstack((a,b))
# 3行5列へ
f = np.vstack((a,d))
# 6行5列へ(3つ以上の配列の結合)
g = np.vstack((a,b,d))
print("e = np.vstack((a,b))")
print(e)
print("\nf = np.vstack((a,d))")
print(f)
print("\ng = np.vstack((a,b,d))")
print(g)
<実行結果>
e = np.vstack((a,b))
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
f = np.vstack((a,d))
[[0 1 2 3 4]
[5 6 7 8 9]
[0 1 2 3 4]]
g = np.vstack((a,b,d))
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[ 0 1 2 3 4]]
横方向に結合
列数が同じ場合に使用できる
# 2行9列へ
h = np.hstack((a,c))
print("h = np.hstack((a,c))")
print(h)
<実行結果>
h = np.hstack((a,c))
[[0 1 2 3 4 0 1 2 3]
[5 6 7 8 9 4 5 6 7]]