NumPy メモ
NumPy 配列 ndarray
ループしなくても配列処理ができる
シーケンスから
py
import numpy as np
my_arr = np.arange(10) # arrange ではない a-range
# => 0, 1, 2, .. 9
my_arr2 = my_arr * 2
# => 0, 2, 4, .. 18
N 次元
初期化の例
py
data = np.array([1, 2, 3])
data = np.array([[1, 2, 3], [4, 5, 6]])
情報取得系
data.ndim: 何次元かを取得data.shape: 要素数を取得 (2, 4) などdata.dtype: 型名
同じ値の初期化
py
data = np.zeros((2, 3))
data = np.ones((2, 3))
型変換
py
data = data.astype(np.float64)
data = data.astype(data2.dtype)
slice
py
data[2, 3] # 2行目3列目を取得
data[:, 0] # 0列目だけ取得
data[1:, 1:] # 1列目以降、1行目以降を取得
スライス代入もできる
ブールインデックス参照
py
data = np.array([[11, 12, 13], [21, 22, 23], [31, 32, 33]])
cols = np.array([True, False, True])
data[cols]
# => [[11, 12, 13], [31, 32, 33]]
py
data = np.array([[11, 12, 13], [21, 22, 23], [31, 32, 33]])
ファンシーインデックス参照
py
data[[2, 0]]
# => [[31, 32, 33], [11, 12, 13]]
転置
py
data.T
data.swapaxes(0, 1)
内積
py
np.dot(data1, data2)
data1 @ data2
random
py
samples = np.random.standard_normal(size=(4, 4))
集合関数
py
data.sum()
data.sum(axis=0)
data.mean(axis=0)
data.cumsum(axis=0)
py
data = np.array([1, 2, 3])
data.sum() # => 6
data.mean() # => 2
data.cumsum() # => [1, 3, 6]
件数カウント
たとえば偶数の件数カウント
py
(data % 2 == 0).sum()
以下広告