import numpy as np
a = np.arange(1,26).reshape((5,5))
[[ 1 2 3 4 5]
[ 6 7 8 9 10]
[11 12 13 14 15]
[16 17 18 19 20]
[21 22 23 24 25]]
a[1:3, 2:5]
array([[ 8, 9, 10],
[13, 14, 15]])
a[:, 2:5]
array([[ 3, 4, 5],
[ 8, 9, 10],
[13, 14, 15],
[18, 19, 20],
[23, 24, 25]])
a[:, None]
array([[[ 1, 2, 3, 4, 5]],
[[ 6, 7, 8, 9, 10]],
[[11, 12, 13, 14, 15]],
[[16, 17, 18, 19, 20]],
[[21, 22, 23, 24, 25]]])
a[:, None].shape
(5, 1, 5)
a[:,:, None].shape
(5, 5, 1)
a[:,:, None, None].shape
(5, 5, 1, 1)
a[..., None].shape
(5, 5, 1)