flip()
一部分だけflipする場合は、異なる軸で2回flipするのをまとめてしまうと結果が変わる
code:py
import numpy as np
a = np.arange(4 * 4).reshape(4, 4)
a
code:out
array([
0, 1, 2, 3
,
4, 5, 6, 7
,
8, 9, 10, 11
,
12, 13, 14, 15
])
code:py
a0 = a.copy()
a0
:2, :2
= np.flip(a0
:2, :2
, axis=(0, 1)) # 左上2x2のみflip
a0
code:out
array([
5, 4, 2, 3
,
1, 0, 6, 7
,
8, 9, 10, 11
,
12, 13, 14, 15
])
code:py
a1 = a.copy()
a1
:2, :
= np.flip(a1
:2, :
, axis=0)
a1
:, :2
= np.flip(a1
:, :2
, axis=1)
a1
code:out
array([
5, 4, 6, 7
,
1, 0, 2, 3
,
9, 8, 10, 11
,
13, 12, 14, 15
])