Pynote

Python、機械学習、画像処理について

numpy - 配列を繰り返す、反転、回転、ローテーションする

概要

numpy の配列を繰り返す、反転、回転、ローテーションする関数を整理する。

配列を繰り返す。

名前 説明
numpy.repeat
numpy.tile

numpy.repeat

配列を繰り返す。

関数

numpy.repeat(a, repeats, axis=None)

例 axis を指定しない場合

a = np.array([[1, 2],
              [3, 4]])

b = np.repeat(a, 2)
print(b)  # [1 1 2 2 3 3 4 4]

例 axis を指定した場合


a = np.array([[1, 2],
              [3, 4]])

b = np.repeat(a, 2, axis=0)
print(b)
# [[1 2]
#  [1 2]
#  [3 4]
#  [3 4]]


a = np.array([[1, 2],
              [3, 4]])

b = np.repeat(a, 2, axis=1)
print(b)
# [[1 1 2 2]
#  [3 3 4 4]]

numpy.tile

配列をタイル状に繰り返す。

関数

numpy.tile(A, reps)


a = np.array([[1, 2],
              [3, 4]])

b = np.tile(a, (2, 3))
print(b)
# [[1 2 1 2 1 2]
#  [3 4 3 4 3 4]
#  [1 2 1 2 1 2]
#  [3 4 3 4 3 4]]

配列を反転、回転、ローテーションさせる。

名前 説明
numpy.flip
numpy.flipud
numpy.fliplr
numpy.rot90
numpy.roll

numpy.flip

配列を指定した axis で反転させる。

関数

numpy.flip(m, axis=None)


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]]


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

配列を axis=0 で反転させる。

関数

numpy.flipud(m)


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

b = np.flipud(a)
print(b)
# [[7 8 9]
#  [4 5 6]
#  [1 2 3]]

numpy.fliplr

配列を axis=1 で反転させる。

関数

numpy.fliplr(m)


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

b = np.fliplr(a)
print(b)
# [[3 2 1]
#  [6 5 4]
#  [9 8 7]]

numpy.rot90

配列を90°ずつ回転させる。

関数

numpy.rot90(m, k=1, axes=(0, 1))

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]]


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]]

numpy.roll

配列の値を横にローテーションする。

関数

numpy.roll(a, shift, axis=None)


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

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


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

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