Python上で数値計算(特にベクトル・行列)を効率的に行うためのモジュールであるNumPyのサンプルコード。ここでは特に、アレイの作成手法について紹介。記事の末尾には公式ドキュメントへのリンクを載せている。
ソースコード
以下のソースコードはPython 3.xの書式で記載している。
# npと言うエイリアスをつけてnumpyをインポート import numpy as np # Python標準のリスト型 list1 = [1, 2, 3, 4] print("list1 == ", list1) # リストからnumpyのアレイを作成 array1 = np.array(list1) print("array1 == ", array1) # リスト型のlist2を作成 list2 = [5, 6, 7, 8] # リストのリストを作成 lists = [list1, list2] # 多次元アレイを作成 array2 = np.array(lists) print("array2 == \n", array2, "\n") # アレイのサイズを確認 print("array2.shape == ", array2.shape) # タプル出力:2行4列のアレイと分かる # アレイのデータ型を確認 (全要素は同じ型) print("array2.dtype == ", array2.dtype, "\n") # 全ての要素が0のアレイ array_zeros = np.zeros(3) print("array_zeros == ", array_zeros) print("array_zeros.dtype == ", array_zeros.dtype, "\n") # 全ての要素が1のアレイ array_ones = np.ones((3, 3)) print("array_ones == \n", array_ones, "\n") # 空のアレイ array_emp = np.empty((3, 3)) print("array_emp == \n", array_emp, "\n") # 0で初期化されているわけでは無い # 単位行列(dentity array) array_den = np.eye(5) # 5行5列の単位行列 print("array_den == \n", array_den, "\n") # arange 関数でのアレイの作成 array3 = np.arange(10) # 0〜(10-1)までを1ずつ加算した要素でアレイ作成 array4 = np.arange(8, 60, 4) # 8〜(60-1)までを4ずつ加算した要素でアレイ作成 print("array3 == ", array3) print("array4 == ", array4)
実行結果
list1 == [1, 2, 3, 4] array1 == [1 2 3 4] array2 == [[1 2 3 4] [5 6 7 8]] array2.shape == (2, 4) array2.dtype == int64 array_zeros == [ 0. 0. 0.] array_zeros.dtype == float64 array_ones == [[ 1. 1. 1.] [ 1. 1. 1.] [ 1. 1. 1.]] array_emp == [[ 0. 0. 0.] [ 0. 0. 0.] [ 0. 0. 0.]] array_den == [[ 1. 0. 0. 0. 0.] [ 0. 1. 0. 0. 0.] [ 0. 0. 1. 0. 0.] [ 0. 0. 0. 1. 0.] [ 0. 0. 0. 0. 1.]] array3 == [0 1 2 3 4 5 6 7 8 9] array4 == [ 8 12 16 20 24 28 32 36 40 44 48 52 56]