目次
概要
NumPy で配列を反転、回転させる関数について解説します。
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)
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]]
コメント