Python で 3D 配列を 2D 配列に変換する
このチュートリアルでは、Python で 3D 配列を 2D 配列に変換する方法について説明します。
Python の numpy.reshape()
関数を使用して、3D 配列を 2D 配列に変換する
[numpy.reshape()
関数](numpy.reshape — NumPy v1.20 マニュアル)は形状を変更しますそのデータを変更せずに配列の。numpy.reshape()
は、指定された次元の配列を返します。たとえば、次元が (4, 2, 2)
の 3D 配列があり、それを次元が (4, 4)
の 2D 配列に変換したい場合です。
次のコード例は、numpy.reshape()
関数を使用して、Python で次元 (4, 2, 2)
の 3D 配列を次元 (4, 4)
の 2D 配列に変換する方法を示しています。
import numpy
arr = numpy.array(
[[[0, 1], [2, 3]], [[4, 5], [6, 7]], [[8, 9], [10, 11]], [[12, 13], [14, 15]]]
)
newarr = arr.reshape(4, 2 * 2)
print(newarr)
出力:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]
上記のコードでは、最初に numpy.array()
関数を使用して 3D 配列 arr
を初期化し、次に numpy.reshape()
関数を使用して 2D 配列 newarr
に変換します。
次のコード例は、何らかの理由で 3D 配列の正確な寸法がわからない場合に、同じことを行う別の方法を示しています。
import numpy
arr = numpy.array(
[[[0, 1], [2, 3]], [[4, 5], [6, 7]], [[8, 9], [10, 11]], [[12, 13], [14, 15]]]
)
newarr = arr.reshape(arr.shape[0], (arr.shape[1] * arr.shape[2]))
print(newarr)
出力:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]
上記のコードでは、numpy.shape()
関数を使用して newarr
の次元を指定しています。numpy.shape()
関数は、配列の各次元の要素。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn