開発環境:Jupyter Notebook
まずは、読み込み。
import numpy as np
「numpyというライブラリをnpとして読み込む」という意味となる。これを宣言することで、メソッドをnpとして参照することができる。
配列
1次元配列
a = np.array([0, 1, 2])
print(a)
#array([0, 1, 2])
a[2]
#2
np.arrayで配列を作成する。1次元配列の場合、array([ ])で作成することができる。a[ ] で任意の値を呼び出すことができる。
2次元配列
a = np.array([[0, 1, 2], [3, 4, 5]])
print(a)
#array([[0, 1, 2],
# [3, 4, 5]])
a[0]
#array([0, 1, 2])
a[1]
#array([3, 4, 5])
a[0][0]
#0
a[1][2]
#5
2次元配列の場合、array([ ], [ ])で作成することができる。ここで、a[ ] とすると、行ごとの値を呼び出す。a[ ][ ]では、行と列を指定して、1つの値を取り出すことができる。
###shape, ndim, dtype, size
a.shape
#(2, 3)
a.ndim
#2
a.dtype
#'int64'
a.size
#6
a.shapeで行と列の数を取り出すことができる。a.ndimは次元数を表している。今回の場合、2次元行列のため、2が取り出される。a.dtypeはビット数を表している。今回は、2×3の行列なので、1つの値を2ビットとすると、2の6乗でint64と求められる。a.sizeは2×3の行列より、6と表示される。
###arange, linspace
np.arange(6)
#array([0, 1, 2, 3, 4, 5])
np.arange(0, 20, 5)
#array([0, 5, 10, 15])
np.linspace(0, 20, 5)
#array([0., 5., 10., 15., 20.])
np.arangeは等差で配列を作ることができる。上の例では、単に6と書くと、0から6つの要素を取り出すことができる。または、0から始まり、20未満まで、5ずつ増える配列として表されている。np.linspaceは等分して配列を作ることができる。上の例では、0から始まり、20まで、5等分して配列を作成している。
###zeros, ones
np.zeros((2, 3))
#array([[0., 0., 0.],
# [0., 0., 0.]])
np.ones((2, 3))
#array([[1., 1., 1.],
# [1., 1., 1.]])
np.zerosは0を要素とする配列を作成することができる。同様に、np.onesは1を要素とする。
###append, vstack, hstack
a = np.arange(5)
b = np.arange(0, 10, 2)
c = np.arange(0, 100, 20)
a
#array([0, 1, 2, 3, 4])
b
#array([0, 2, 4, 6, 8])
c
#array([0, 20, 40, 60, 80])
np.append(a, b)
#array([0, 1, 2, 3, 4, 0, 2, 4, 6, 8])
np.vstack([a, b, c])
#array([[0, 1, 2, 3, 4],
# [0, 2, 4, 6, 8],
# [0, 20, 40, 60, 80]])
np.hstack([a, b, c])
#array([0, 1, 2, 3, 4, 0, 2, 4, 6, 8, 0, 20, 40, 60, 80])
np.appendは配列の値を後に続けて加えることができる。np.vstackは配列を行ごとに、つまり、鉛直(vertical)に並べる事ができる。加えて、np.hstackは配列を水平(horizontal)に並べることができる。
###random, sum, min, max, mean
a = np.random.rand((2, 3))
a
#array([[0.3026967 , 0.7533224 , 0.26057491],
# [0.91502592, 0.54166851, 0.60867887]])
a.sum()
# 3.381967315194162
a.min()
# 0.26057491207931693
a.max()
# 0.9150259161906477
a.mean()
# 0.563661219199027
np.random.randは0以上1未満の数をランダムに記述することができる。a.sumですべての値の合計、a.minで配列の最小値、a.maxで配列の最大値、a.meanで配列の平均値を表す。