Numpyとは?
NumpyはPythonで科学計算を行うためのパッケージです。
Numpyの準備
pip install numpy
import numpy as np
リストとNumpyの違い
リストは1つのリスト内に異なるデータ型を含めることができるがNumpyは全て同じでないとならない
メモリの消費量が少なく、高速
配列とは
配列には
- 型
- 次元
- 軸の長さ
があります
例えば下記の例では型は整数、次元は2、一つ目の軸の長さは2、二つ目の軸の長さは5
a = np.array([[1, 2, 3, 4, 5],[6, 7, 8, 9, 10]])
print(a)
基本的な配列を作成する方法
a = np.array([1, 2, 3])
a = np.zeros(2)
np.ones(2)
np.empty(2)
np.arange(4)
np.arange(2, 9, 2)
np.ones(2, dtype=np.int64)
要素の追加、削除、およびソート
arr = np.array([2, 1, 5, 3, 7, 4, 6, 8])
np.sort(arr)
a = np.array([1, 2, 3, 4])
b = np.array([5, 6, 7, 8])
np.concatenate((a, b))
x = np.array([[1, 2], [3, 4]])
y = np.array([[5, 6]])
np.concatenate((x, y), axis=0)
配列の形状とサイズ
array_example = np.array([[[0, 1, 2, 3],
[4, 5, 6, 7]],
[[0, 1, 2, 3],
[4, 5, 6, 7]],
[[0 ,1 ,2, 3],
[4, 5, 6, 7]]])
array_example.ndim
array_example.size
array_example.shape
配列の形状を変更
a = np.arange(6)
print(a)
b = a.reshape(3, 2)
print(b)
インデックス作成とスライス
data = np.array([1, 2, 3])
data[1]
data[0:2]
data[1:]
data[-2:]
a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
print(a[a < 5])
five_up = (a >= 5)
print(a[five_up])
既存のデータから配列を作成
a1 = np.array([[1, 1],
[2, 2]])
a2 = np.array([[3, 3],
[4, 4]])
np.vstack((a1, a2))
np.hstack((a1, a2))
基本的な配列操作
data = np.array([1, 2])
ones = np.ones(2, dtype=int)
data + ones
data - ones
data * data
data / data
ブロードキャスト
data = np.array([1.0, 2.0])
data * 1.6
便利な配列操作
data.max()
data.min()
data.sum()
a.min(axis=0)
行列の作成
data = np.array([[1, 2], [3, 4], [5, 6]])
data.max()
data.min()
data.sum()
data.max(axis=0)
data.max(axis=1)
data = np.array([[1, 2], [3, 4]])
ones = np.array([[1, 1], [1, 1]])
data + ones
data = np.array([[1, 2], [3, 4], [5, 6]])
ones_row = np.array([[1, 1]])
data + ones_row
行列の転置と再形成
data.reshape(2, 3)
data.reshape(3, 2)
arr.transpose()
arr.T
多次元配列の再形成と平坦化
x = np.array([[1 , 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
x.flatten()