Install

pip install numpy

Import

import numpy as np

初期化

# ベクトルの定義
a = np.array([1, 2, 3])
# 行列の定義
b = np.array(
    [[1, 2, 3],
     [4, 5, 6],
     [7, 8, 9]]
)
# 形を指定して、要素が全て 0 で埋められた ndarray を作る
a = np.zeros((3, 3))
'''
array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])
'''
# 形を指定して、要素が全て 1 で埋められた ndarray を作る
b = np.ones((2, 3))
'''
array([[1., 1., 1.],
       [1., 1., 1.]])
'''
# 形と値を指定して、要素が指定した値で埋められた ndarray を作る
c = np.full((3, 2), 9)
'''
array([[9, 9],
       [9, 9],
       [9, 9]])
'''
# 指定された大きさの単位行列を表す ndarray を作る
d = np.eye(5)
'''
array([[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.]])
'''
# 形を指定して、 0 ~ 1 の間の乱数で要素を埋めた ndarray を作る
e = np.random.random((4, 5))
'''
array([[0.945015  , 0.43016639, 0.29548392, 0.95129474, 0.79083349],
       [0.38302104, 0.81301269, 0.89543488, 0.98794199, 0.07312155],
       [0.28104454, 0.05910526, 0.82286822, 0.80324149, 0.34598631],
       [0.27901198, 0.99971565, 0.80767343, 0.8232321 , 0.53487828]])
'''
# 3 から始まり 10 になるまで 1 ずつ増加する数列を作る(10 は含まない)
f = np.arange(3, 10, 1)
'''
array([3, 4, 5, 6, 7, 8, 9])
'''

形,次元

print('Shape:', b.shape)
print('Rank:', b.ndim)
#Shape: (3, 3)
#Rank: 2

スライス

'''
e=array([[ 1, 2, 3, 4, 5],
       [ 6 , 7, 8, 9,10],
       [11,12,13,14,15],
       [16,17,18,19,20]])
'''
# 4 x 5 行列 e の真ん中の 2 x 3 = 6 個の値を取り出す
center = e[1:3, 1:4]
'''
array([[ 7, 8, 9],
       [12,13,14]])
'''

演算

# 行列 A の定義
A = np.array([
    [0, 1, 2],
    [3, 4, 5],
    [6, 7, 8]
])

# 行列 B の定義
B = np.array([
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
])
# 行列積の計算 (1)
C = np.dot(A, B)
'''
array([[ 18,  21,  24],
       [ 54,  66,  78],
       [ 90, 111, 132]])
'''
C = A.dot(B)
'''
array([[ 18,  21,  24],
       [ 54,  66,  78],
       [ 90, 111, 132]])
'''
# データ型の確認(整数値)
a.dtype
'''
dtype('int64')
'''

numpy計算例

import numpy as np
a = np.array([6,5,4,3,2,1])
b = np.array([1,2,3,4,5,6])
w = np.array([2,4,6,10,12,14])
c = (a-b)
print(c)
d=w*c**2
print(d)
print(np.sum(d))

e = w[0]*(a[0]-b[0])**2+w[1]*(a[1]-b[1])**2+w[2]*(a[2]-b[2])**2+w[3]*(a[3]-b[3])**2+w[4]*(a[4]-b[4])**2+w[5]*(a[5]-b[5])**2
print(e)

参考文献

NumPy 入門 - ディープラーニング入門:Chainer チュートリアル