機械学習の前処理を行う際に、3次元配列から2次元配列へと変更したい時があります。
その変換方法について解説します。
目次
三次元配列から二次元配列への変換
3次元配列から2次元配列へと変換する。ここでは、for文を入れ子にして(6, 1, 3)
から (6, 3)
に変換する。
import numpy as np
# サンプルデータ
data = np.array(
[[[412, 123, 1523]],
[[113, 521, 1432]],
[[ 97, 856, 1523]],
[[612, 736, 1452]],
[[ 61, 623, 1723]],
[[923, 245, 879]]]
)
# サンプルデータの形をチェック
print(data.shape)
# (6, 1, 3)
result = []
# 3次元配列から2次元配列に変換
for i in range(len(data)):
for j in range(len(data[i])):
_temp = []
for h in range(len(data[i][j])):
_temp.append(data[i][j][h])
result.append(_temp)
result = np.array(result)
print(result.shape)
# (6, 3)