科学の箱

科学・IT・登山の話題

Python

flip, fliplr, flipudを使って配列要素を上下左右、左右、上下反転する

投稿日:

画像処理などでは要素の値を配列全体で反転したいときがある。このようなときに役に立つのがflip, fliplr, flipudである。

flipud

flipudは上下反転する。

第一パラメータには反転したい配列を渡す。結果は上下反転した配列が戻ってくる。

import numpy as np
z = np.arange(12)
z1=z.reshape(3,4)

print(z1)
# [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

print(np.flipud(z1)
[[ 8  9 10 11]
 [ 4  5  6  7]
 [ 0  1  2  3]]

 

この結果は[::-1, ::]でスライスした結果と同じである。

print(z1[::-1,])
# [[ 8  9 10 11]
 [ 4  5  6  7]
 [ 0  1  2  3]]

 

fliplr

flipudは左右反転する。

第一パラメータには反転したい配列を渡す。結果は左右反転した配列が戻ってくる。

import numpy as np
z = np.arange(12)
z1=z.reshape(3,4)

print(z1)
# [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

print(np.flipnr(z1))
#[[ 3  2  1  0]
 [ 7  6  5  4]
 [11 10  9  8]]

 

この結果は[::,::-1]でスライスしたのと同じ結果である

print(z1[::,::-1])

# [[ 3  2  1  0]
 [ 7  6  5  4]
 [11 10  9  8]]

 

flip

flipは配列の要素を上下反転する。

第一パラメータに反転したい配列を引き渡す。この結果上下反転した配列が戻ってくる。

3×4の配列を上下反転した例が以下になる。

z = np.arange(12)
z1=z.reshape(3,4)

print(z1)
# [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

print(np.flip(z1)
# [[11 10  9  8]
 [ 7  6  5  4]
 [ 3  2  1  0]]

上下・左右すべて反転しているのがわかる。

flipは配列を[::-1,::-1]でスライスしたのと同じ結果となる。

print(z1[::-1, ::-1])
# [[11, 10,  9,  8],
       [ 7,  6,  5,  4],
       [ 3,  2,  1,  0]]

 

flipは引数axisにより反転する軸を指定できる。flip(配列)はflip(配列, (0,1))と同じである。

print(np.flip(z1, (0,1)))
# [[11 10  9  8]
 [ 7  6  5  4]
 [ 3  2  1  0]]

 

flip(配列, 0)はflipud, flip(配列, 1)はfliplrと同じである。

 

メタ情報

inarticle



メタ情報

inarticle



-Python
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

kaggle Titanic Tutorial – 10

いろいろ試しているがうまくいかないので、とりあえずAgeを正しく補完できるか調べる。 調査は線形回帰でどれくらい相関が出るかで判断する。   import numpy as nm impor …

no image

すべての要素が同じ値を持つ配列を生成

配列はリストから生成できるが、numpyでは様々な方法で目的とする配列を生成できる。 すべての要素が0である配列の生成 すべての要素が1である配列の生成 すべての要素が同じ値である配列の生成 すべての …

no image

Numpyまとめ

環境及びインポート numpyのインポートおよび環境確認 配列生成 配列をリストから生成 配列の属性を確認 すべての要素が同じ値を持つ配列を生成 空の配列を生成 numpy.linspace()を使っ …

no image

グリッドサーチ

機械学習のアルゴリズムを利用する際に一つの問題がパラメータの最適化。例えばSVMではガンマパラメータを適切に設定しないと結果は使い物にならないことがある。このパラメータは自分で設定する方法もあるが、P …

no image

kaggle Titanic Tutorial – 8

前回の結果がいまいちだった。これまではAgeは平均値でNullを埋めていた。平均値では明らか実際のデータと差異が出ると考えられる。そのためAgeがない情報についてより正確なAgeで補完するようにした。 …

2019年9月
« 8月   10月 »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

side bar top



アーカイブ

カテゴリー