numpy.repeat()

numpy.repeat()

numpy.repeat()

 numpy.repeat(a, n) はスカラーや配列 a の各要素を n 回繰り返す配列を生成します。

# リストREP-1

import numpy as np

# 1を5個並べる
a = np.repeat(1, 5)

print(a)
[1 1 1 1 1]

 第 1 引数にリストや配列を渡すと、要素ごとに指定回数だけ繰り返します。

# リストREP-2

# 1と2を3回繰り返す
b = np.repeat([1, 2], 3)

print(b)
[1 1 1 2 2 2]

 第 1 引数に 2 次元配列を渡して axis を指定しなければ、各要素を指定回数だけ繰り返す 1 次元配列が生成されます。

# リストREP-3

# 2次元配列を定義
x = np.array([[1, 2],
              [3, 4]])

# xの各要素を2回ずつ繰り返す
c = np.repeat(x, 2)

print(c)
[1 1 2 2 3 3 4 4]

 第 1 引数に 2 次元配列を渡して axis=1 を指定すると、各要素を列方向に繰り返す配列が生成されます。

# リストREP-4

# xの各要素を列方向に3回ずつ繰り返す2次元配列
d = np.repeat(x, 3, axis=1)

print(d)
[[1 1 1 2 2 2]
 [3 3 3 4 4 4]]

 第 1 引数に 2 次元配列を渡して axis=0 を指定すると、各要素を行方向に繰り返す配列を生成します。

# リストREP-5

# xの各要素を行方向に2回ずつ繰り返す2次元配列
e = np.repeat(x, 2, axis=0)

print(e)
[[1 2]
 [1 2]
 [3 4]
 [3 4]]