zukucode
主にWEB関連の情報を技術メモとして発信しています。

NumPy 1次元配列を列ベクトルに変換する方法

NumPyで1次元配列(1次元のNumPy配列)を列ベクトルに変換する方法を紹介します。

import numpy as np
data = np.array([1, 2, 3, 4, 5, 6])

print(data)
# [1 2 3 4 5 6]

reshapeで配列の形状を変換します。

b = data.reshape(-1, 1)

print(b)
# [[1]
# [2]
# [3]
# [4]
# [5]
# [6]]

解説

配列A.reshape(行数, 列数)とすると、配列Aを形状変換します。

c = data.reshape(2, 3)

print(c)
# [[1 2 3]
#  [4 5 6]]

行数や列数に-1を指定すると自動で設定されます。

以下の例では行数に-1、列数に3を設定しています。列数3から行数は自動計算されて2となります。

d = data.reshape(-1, 3)

print(d)
# [[1 2 3]
#  [4 5 6]]

変換したい形状は列ベクトルなので、列数に1を設定して、行数は-1を設定して自動計算するように変換します。

b = data.reshape(-1, 1)

print(b)
# [[1]
# [2]
# [3]
# [4]
# [5]
# [6]]

関連記事