Zip NumPy Arrays
-
list(zip())
関数を使用した NumPy Zip -
numpy.stack()
関数を使用した NumPy Zip -
numpy.column_stack()
関数を使用した NumPy Zip
このチュートリアルでは、Python で 2つの 1DNumPy 配列を 1つの 2DNumPy 配列に圧縮する方法を紹介します。
list(zip())
関数を使用した NumPy Zip
2つの 1D 配列があり、それらを 2D 配列内で一緒に圧縮したい場合は、Python で list(zip())
関数を使用できます。このアプローチでは、リスト内で配列を一緒に圧縮します。list(zip(a,b))
関数は、配列 a
と b
を引数として取り、リストを返します。次に、numpy.array()
関数を使用して、zip 形式のリストを配列に変換できます。次のコード例を参照してください。
import numpy as np
a = np.array([1, 3, 5, 7])
b = np.array([2, 4, 6, 8])
c = np.array(list(zip(a, b)))
print(c)
出力:
[[1 2]
[3 4]
[5 6]
[7 8]]
最初に、np.array()
関数を使用して 2つの 1D 配列 a
と b
を作成し、np.array(list(zip(a,b)))
関数を使用してそれらを圧縮しました。
配列とリストの間で変換する必要があるため、このアプローチはあまり効率的ではありません。
numpy.stack()
関数を使用した NumPy Zip
numpy.stack()
関数を使用して、前の例と同じ目標を達成することもできます。このアプローチは、型変換が実行されないため、以前のアプローチよりも効率的です。numpy.stack()
関数は、指定された軸に従って 2つ以上の配列を結合するために使用されます。前の例と同様の結果を得るために、1
に等しい axis
パラメーターを指定できます。次のコード例を参照してください。
import numpy as np
a = np.array([1, 2, 3, 4, 5])
b = np.array([6, 7, 8, 9, 10])
c = np.stack((a, b), axis=1)
print(c)
出力:
[[1 2]
[3 4]
[5 6]
[7 8]]
最初に、np.array()
関数を使用して 2つの 1D 配列 a
と b
を作成し、np.stack((a,b), axis=1)
関数を使用してそれらを圧縮しました。
numpy.column_stack()
関数を使用した NumPy Zip
numpy.column_stack()
関数は、Python で 2つの 1D 配列を 1つの 2D 配列に圧縮するために使用できるもう 1つのメソッドです。numpy.column_stack()
関数は、2つ以上の 1D 配列を列として単一の 2D 配列に結合するために使用されます。このアプローチでは、軸パラメータを指定する必要はありません。次のコード例を参照してください。
import numpy as np
a = np.array([1, 3, 5, 7])
b = np.array([2, 4, 6, 8])
d = np.column_stack((a, b))
print(d)
出力:
[[1 2]
[3 4]
[5 6]
[7 8]]
最初に、np.array()
関数を使用して 2つの 1D 配列 a
と b
を作成し、np.column_stack(a,b)
関数を使用してそれらを圧縮しました。
このアプローチは、前の 2つの方法と比較して最適です。型変換がなく、このアプローチでは軸を指定する必要がないためです。
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