【NumPy】配列要素の反転操作
配列要素を特定の軸について 反転 させる関数の一覧です。
numpy.flip()
numpy.flip(arr, axis=None) は指定した軸 (axis) に沿って要素を 反転 させます。1 次元配列を渡す場合は axis を渡す必要はありません。
# NUMPY_FLIP
# In[1]
import numpy as np
# x = [1 2 3 4 5 6 7 8 9]
x = np.arange(1, 10)
# xの要素を左右反転
a = np.flip(x)
print(a)
# [9 8 7 6 5 4 3 2 1]
numpy.reshape() を使って x を 3 × 3 サイズに形状変更しておきます。
# In[2]
# xを3×3の配列に形状変更
y = x.reshape(3, 3)
print(y)
# [[1 2 3]
# [4 5 6]
# [7 8 9]]
2 次元配列 y を numpy.flip() に渡すと上下左右に反転します。
# In[3]
# yの要素を上下左右に反転
b = np.flip(y)
print(b)
# [[9 8 7]
# [6 5 4]
# [3 2 1]]
axis=0 を指定すると、行方向の軸に沿って反転させます。
# In[4]
# 上下反転
c = np.flip(y, axis=0)
print(c)
# [[7 8 9]
# [4 5 6]
# [1 2 3]]
axis=1 なら列方向に沿って要素を反転します。
# In[5]
# 左右反転
d = np.flip(y, axis=1)
print(d)
# [[3 2 1]
# [6 5 4]
# [9 8 7]]
numpy.fliplr()
numpy.fliplr(m) は 2 次元以上の配列 m を受け取って、行ごとに要素を左右に反転させます。
# NUMPY_FLIP_LR
import numpy as np
# [[1 0 0]
# [0 2 0]
# [0 0 3]]
x = np.diag([1, 2, 3])
# 行ごとに要素を左右反転
flr = np.fliplr(x)
print(flr)
# [[0 0 1]
# [0 2 0]
# [3 0 0]]
numpy.flipud()
numpy.flipud(m) は 2 次元以上の配列 m を受け取って、列ごとに要素を上下に反転させます。
# NUMPY_FLIP_UD
import numpy as np
# [[1 0 0]
# [0 2 0]
# [0 0 3]]
x = np.diag([1, 2, 3])
# 上下反転
fud = np.flipud(x)
print(fud)
# [[0 0 3]
# [0 2 0]
# [1 0 0]]
【ChatGPT講義】numpy.flip
numpy.flipは、NumPyライブラリに含まれる関数の一つです。この関数は、配列の要素の順序を反転させることができます。具体的には、配列の要素を左右または上下に反転させることができます。例えば、[1, 2, 3, 4, 5]という配列がある場合、numpy.flipを使って要素の順序を反転させると、[5, 4, 3, 2, 1]となります。これを図で説明すると、元の配列が水平方向(左右)に反転されることになります。また、縦方向(上下)に反転させる場合も同様になります。具体的な使い方は以下の通りです:
◆◆◆◆◆
import numpy as np
# 配列の作成
arr = np.array([1, 2, 3, 4, 5])
# 配列の要素を左右に反転させる
flipped_arr = np.flip(arr)
print(flipped_arr)
◆◆◆◆◆
このコードを実行すると、[5, 4, 3, 2, 1]が表示されます。配列の要素が左右に反転された結果です。また、縦方向に反転させる場合は、引数にaxis=0を指定することで実現できます。
◆◆◆◆◆
import numpy as np
# 2次元配列の作成
arr = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 配列の要素を上下に反転させる
flipped_arr = np.flip(arr, axis=0)
print(flipped_arr)
◆◆◆◆◆
この場合、配列の要素が上下に反転されます。出力は以下のようになります:
◆◆◆◆◆
[[7 8 9]
[4 5 6]
[1 2 3]]
◆◆◆◆◆
numpy.flip関数は、配列の要素の順序を反転させるのに便利な関数です。要素の順序を変更する際に使用することができます。
【技術英語の豆知識】flip は「軽くはじく」のイメージ
flip の主な意味は「軽くはじく」「素早く投げる」「裏返す」などです。例えば、本を flip するときは「ページを迅速にめくる」ことを意味します。軽い力でページをはじくイメージです。また、flip は感情的な反応を示すこともあります。たとえば、”flip out” というフレーズは、怒ったり興奮したりして制御を失うことを意味します。
flip の名詞としての意味は「軽いはじき」、「軽く投げること」などです。例えば、コインを投げるときの動作を指す場合に flip を使用します。スポーツの技術で使われることもあります。例えば、バスケットボールでボールを素早く投げる動作を flip と呼ぶことがあります。さらに、俗語として、flip は「(物事や意見の)急な変化」を指すこともあります。