Numpy の行列スライス | Python
import numpy as np
W = np.array([[0.1, 2, 0.3, 1],
[2.3, 1, 4.3, 2],
[1.1, 5, 1.3, 0],
[5.1, 1, 2.9, 4],
[0.9, 3, 1.6, 3]])
W.shape
(5, 4)
# NumPyのインデックス参照は「行」が基本
# 2次元配列で添字を1つ指定すると、行方向( axis=0 )が選ばれるのがNumPyの基本ルールです。
W[[1, 3]]
[[2.3, 1, 4.3, 2],
[5.1, 1, 2.9, 4]]
# 列を取りたい場合は明示( axis=1 )が必要
W[:, [0, 2]]
[[0.1, 0.3],
[2.3, 4.3],
[1.1, 1.3],
[5.1, 2.9],
[0.9, 1.6]]
Numpy と 3次元配列( 3 階テンソル)
import numpy as np
A = np.zeros((2, 3, 3)) # (N=2, T=3, D=3)
A[:, 0, :] = [[0, 0, 0],
[1, 1, 1]]
print(A[0, 0, :]) # → [0. 0. 0.]
print(A[1, 0, :]) # → [1. 1. 1.]