Pythonで1次元の配列を列として2次元の配列に変換する

Pythonで1次元の配列を列として2次元の配列に変換してみます。

なお、今回NumPyライブラリを使用し、変換を行います。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■1次元の配列を列として2次元の配列に変換する

では、早速1次元の配列を列として2次元の配列に変換してみます。

■コード

import numpy as np

array_1 = np.array(("1年","2年","3年"))

array_2 = np.array(("田中","山尾","吉岡"))

array_3 = np.column_stack((array_1,array_2))

print(array_3)

NumPyモジュールを呼び出します。その後にarray_1とarray_2という変数を作成し、その中でnp.array()を使用し、1次元の配列を作成します。今回、配列の要素(値)には文字列を入れます。

その後、array_3という変数を作成し、numpy.column_stack()関数を使用します。括弧内には、array_1とarray_2という変数を指定します。これで変数の中の1次元の配列を列にし、各1次元の配列を積み重ねることで、2次元の配列に変換することができます。

変換後、array_3という変数に格納し、print関数でarray_3という変数の情報を出力します。

■実行

このスクリプトを「converting-array.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、今回作成した1次元の配列が”列”として置き換わり、各1次元の配列と積み重なり、2次元の配列へと変換されて出力されました。

■1次元の配列の要素が数値の場合

次に、1次元の配列の要素が数値の場合も変換を行ってみます。

■コード

import numpy as np

array_1 = np.array((1,2,3))

array_2 = np.array((100,200,300))

array_3 = np.column_stack((array_1,array_2))

print(array_3)

コード自体は、先ほどとさほど変わりありませんが、1次元の配列の要素が数値に変更されています。

■実行

このスクリプトを「converting-array_2.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、1次元の配列が”列”として置き換わり、2次元の配列へと変換されました。

コメント

タイトルとURLをコピーしました