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.]