【Python/NumPy】配列の結合・分割

Pythonモジュール「NumPy」で配列を結合・分割する方法について入門者向けにまとめました。

【縦方向に結合】numpy.vstack

Pythonの数値計算モジュール「NumPy」では、numpy.vstackメソッドで配列を縦方向に結合できます。

# -*- coding: utf-8 -*-
import numpy as np

# 配列の宣言・初期化
A = np.array([[1, 2]])
B = np.array([[3, 4], [5, 6]])
C = np.vstack([A, B])

# 画面出力
print(C)

"""
[[1 2]
 [3 4]
 [5 6]]
"""
関連記事
1 【NumPy】配列を縦方向に結合 (numpy.vstack)

【横方向に結合】numpy.hstack

numpy.hstackメソッドで配列を横方向に結合できます。

# -*- coding: utf-8 -*-
import numpy as np

# 配列の宣言・初期化
A = np.array([[1, 2],[3, 4]])
B = np.array([[5, 6], [7, 8]])
C = np.hstack([A, B])

# 画面出力
print(C)

"""
[[1 2 5 6]
 [3 4 7 8]]
"""
関連記事
1 【NumPy】配列を横方向に結合 (numpy.hstack)

【配列の分割】縦方向、横方向

NumPy配列では配列の要素を配列を分割する機能が用意されています。

説明
y = numpy.vsplit(x, n) 配列xを縦方向にn個に分割します。
y = numpy.hsplit(x, n) 配列xを横方向にn個に分割します。
# -*- coding: utf-8 -*-
import numpy as np

# 配列の宣言・初期化
x = np.array([[1, 2, 3],
              [4, 5, 6]])

# 縦方向に分割
print(np.vsplit(x,2)) # [array([[1, 2, 3]]), array([[4, 5, 6]])]

# 横方向に分割
print(np.hsplit(x,3)) # [array([[1], [4]]),
                      #  array([[2],[5]]),
                      #  array([[3], [6]])]
関連記事
1 【NumPy】配列の分割(縦方向・横方向)
参考文献・関連記事
1 【Python入門】サンプル集
2 【Python】日時データの処理(datetime)

コメント