numpyの高度なプログラミングをする前に、やはりnumpyを少し勉強しておく必要があることを痛感したので、今更ながらnumpyの基礎をおさらいすることにした。
スポンサーリンク
NumpyとNumpy Array¶
L = range(1000)
%timeit [i**2 for i in L]
import numpy as np
a = np.arange(1000)
%timeit a**2
numpyの方が遥かに処理が高速なのが一目瞭然だろう。
a = np.arange(10) #0〜9までの10個の数字のアレイ
a
b = np.arange(1, 9, 2) #1から前の数字に2を足して9は除外
b
c = np.linspace(0, 1, 6) #0〜1まで6個の数字を抽出
c
d = np.linspace(0, 1, 5) #0〜1まで5個の数字を抽出
d1 = np.linspace(0, 1, 5, endpoint=False) #1は除く
d,d1
a = np.ones((3, 3)) # reminder: (3, 3) is a tuple
a
b = np.zeros((2, 2))
b
c = np.eye(3)
c
d = np.diag(np.array([1, 2, 3, 4]))
d
スポンサーリンク
numpyのdefault data typeはfloating point¶
a = np.ones((3, 3))
a.dtype
a = np.array([1, 2, 3]) #小数点無しだとint型
a.dtype
b = np.array([1., 2., 3.]) #小数点有りだとfloat型
b.dtype
c = np.array([1, 2, 3], dtype=float) #データ型は指定可能
c.dtype
d = np.array([1+2j, 3+4j, 5+6*1j]) #複素数型
d.dtype
f = np.array(['Bonjour', 'Hello', 'Hallo',]) #string型
f.dtype
スポンサーリンク
numpy arrayの視覚化¶
import matplotlib.pyplot as plt
x = np.linspace(0, 3, 20)
y = np.linspace(0, 9, 20)
plt.plot(x, y) # line plot
plt.show()
plt.plot(x, y, 'o') # dot plot
plt.show()
image = np.random.rand(30, 30)
plt.imshow(image, cmap=plt.cm.hot)
image = np.random.rand(30, 30)
plt.imshow(image, cmap=plt.cm.hot)
plt.colorbar()
スポンサーリンク
スポンサーリンク