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次元の配列へと変換されました。
コメント