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]