Warning: Undefined variable $position in /home/pystyles/pystyle.info/public_html/wp/wp-content/themes/lionblog/functions.php on line 4897

numpy – 配列を反転、回転させる関数について

numpy – 配列を反転、回転させる関数について

概要

NumPy で配列を反転、回転させる関数について解説します。

Advertisement

numpy.flip

指定された軸に沿って配列の要素の順序を逆にします。

numpy.flip(m, axis=None)
引数
名前 デフォルト値
m array_like
入力配列。
axis None int tuple of ints None
反転させる軸または軸。デフォルトの axis=None は、入力配列のすべての軸を反転します。axisが負の場合は、最後の軸から最初の軸までカウントされます。
返り値
名前 説明
out 軸のエントリを反転させた m のビュー。ビューが返されるので、この操作は一定時間で行われます。

サンプルコード

numpy.fliplr

配列を左右方向に反転させます。

numpy.fliplr(m)
引数
名前 デフォルト値
m array_like
入力配列は、少なくとも2次元でなければなりません。
返り値
名前 説明
f m の列を反転させたビュー。ビューが返されるので、この操作は .

サンプルコード

In [1]:
import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

b = np.flip(a, axis=0)
print(b)
[[7 8 9]
 [4 5 6]
 [1 2 3]]
In [2]:
a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

b = np.flip(a, axis=1)
print(b)
[[3 2 1]
 [6 5 4]
 [9 8 7]]

numpy.flipud

配列を上下方向に反転させる。

numpy.flipud(m)
引数
名前 デフォルト値
m array_like
入力配列。
返り値
名前 説明
out m の行を反転したビュー。ビューが返されるので、この操作は .

サンプルコード

In [ ]:
a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

b = np.flipud(a)
print(b)

numpy.roll

配列の要素を指定された軸に沿って回転させます。

numpy.roll(a, shift, axis=None)
引数
名前 デフォルト値
a array_like
入力配列。
shift int, tuple of ints
要素をシフトさせる位置の数。タプルの場合、axis は同じサイズのタプルでなければならず、与えられた軸のそれぞれは対応する数だけシフトされます。axis がintのタプルである間にintであれば、与えられたすべての軸に同じ値が使用されます。
axis int tuple of ints None
要素がシフトされる軸または軸。デフォルトでは、配列はシフトする前に平坦化され、その後元の形状に復元されます。
返り値
名前 説明
res a と同じ形状の出力配列。

サンプルコード

In [ ]:
a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

b = np.fliplr(a)
print(b)
Advertisement

numpy.rot90

軸で指定した平面内で配列を90度回転させる。

numpy.rot90(m, k=1, axes=(0, 1))
引数
名前 デフォルト値
m array_like
2次元以上の配列。
k integer 1
配列を90度回転させる回数。
axes: (2,) array_like
配列を軸で指定された平面で回転させる。軸は異なるものでなければなりません。
返り値
名前 説明
y m の回転図。

サンプルコード

In [3]:
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

b = np.rot90(a, k=1)
print(b)
[[3 6 9]
 [2 5 8]
 [1 4 7]]
In [4]:
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

b = np.rot90(a, k=-1)
print(b)
[[7 4 1]
 [8 5 2]
 [9 6 3]]