NumPy配列ndarrayの生成

ndarrayは、np.arrayを使ってPythonのリストから簡単に生成できる。

# 普通のPythonの配列
data = [[1.0, 2.0, 3.0], [11.0, 12.0, 13.0]]

# NumPyの多次元配列
npdata = np.array(data)
print(npdata)
# 出力結果
# [[  1.   2.   3.]
#  [ 11.  12.  13.]]

ndarrayをprintで出力させるとPythonのリストと同様に [] で囲んで要素を羅列してくれる。要素の間のコンマがないのだが。多次元の場合は適当にインデントしてくれる。

np.zeros は要素をすべて 0.0 で埋めた配列を生成してくれる。引数には配列の次元を指定する。配列の要素はすべて浮動小数点数になる。

npdata = np.zeros(3)
print(npdata)
# 出力結果
# [ 0.  0.  0.]

npdata = np.zeros((2, 3))
print(npdata)
# 出力結果
# [[ 0.  0.  0.]
#  [ 0.  0.  0.]]

同じように np.ones1.0 で埋めた配列になる。

npdata = np.ones(3)
print(npdata)
# 出力結果
# [ 1.  1.  1.]

npdata = np.ones((2, 3))
print(npdata)
# 出力結果
# [[ 1.  1.  1.]
#  [ 1.  1.  1.]]

np.empty は要素を初期化せずに配列を生成する。

npdata = np.empty(3)
# 結果は実行するごとに異なりうる

npdata = np.empty((2, 3))
# 結果は実行するごとに異なりうる

np.arange は0からの連番の配列を生成する。要素の型は整数になる。

npdata = np.arange(5)

print(npdata)
# 出力結果
# [0 1 2 3 4]

print(npdata.dtype)
# 出力結果
# int64

3つの引数を渡せば、開始点、終末点、間隔を指定できる。

npdata = np.arange(0, 5, 0.1)

print(npdata)
# 出力結果
# [ 0.   0.1  0.2  0.3  0.4  0.5  0.6  0.7  0.8  0.9  1.   1.1  1.2  1.3  1.4
#   1.5  1.6  1.7  1.8  1.9  2.   2.1  2.2  2.3  2.4  2.5  2.6  2.7  2.8  2.9
#   3.   3.1  3.2  3.3  3.4  3.5  3.6  3.7  3.8  3.9  4.   4.1  4.2  4.3  4.4
#   4.5  4.6  4.7  4.8  4.9]

print(npdata.dtype)
# 出力結果
# float64

numpy.arange | NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html

関連

このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。