Warning: Undefined variable $position in /home/pystyles/pystyle.info/public_html/wp/wp-content/themes/lionblog/functions.php on line 4897

numpy – repeat、tile で値を繰り返した配列を作成する

numpy – repeat、tile で値を繰り返した配列を作成する

概要

NumPy の repeat、tile で値を繰り返した配列を作成する方法について解説します。

Advertisement

numpy.repeat

配列の要素を繰り返します。

numpy.repeat(a, repeats, axis=None)
引数
名前 デフォルト値
a array_like
入力配列。
repeats int, array of ints
各要素の繰り返し回数。repeats は、与えられた軸の形状に合わせてブロードキャストされます。
axis int None
値を繰り返す軸。デフォルトでは、平坦化された入力配列を使用し、平坦な出力配列を返します。
返り値
名前 説明
repeated_array 指定された軸に沿っている以外は、a と同じ形状の出力配列。

サンプルコード

In [1]:
import numpy as np

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

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

b = np.repeat(a, 2, axis=0)
print(b)
[[1 2]
 [1 2]
 [3 4]
 [3 4]]
In [3]:
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

reps で指定された回数だけ A を繰り返して配列を作成します。

numpy.tile(A, reps)
引数
名前 デフォルト値
A array_like
入力配列。
reps array_like
各軸に沿った a の繰り返し回数。
返り値
名前 説明
c タイル状の出力配列。

サンプルコード

In [4]:
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]]