目次
概要
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]]

コメント