『Python数値計算ノート』ではアフィリエイトプログラムを利用して商品を紹介しています。

numpy.repeat

numpy.repeat()

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

# NUMPY_REPEAT

# In[1]

import numpy as np

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

print(a)
# [1 1 1 1 1]

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

# In[2]

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

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

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

# In[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 を指定すると、各要素を列方向に繰り返す配列が生成されます。

# In[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 を指定すると、各要素を行方向に繰り返す配列を生成します。

# In[5]

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

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

コメント