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]]
"""
【横方向に結合】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]]
"""
【配列の分割】縦方向、横方向
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]])]
コメント