NumPy配列の初期化(同一の値で埋める)[重複] 質問する

NumPy配列の初期化(同一の値で埋める)[重複] 質問する

n長さが で、各要素が であるNumPy 配列を作成する必要がありますv

これより良いものはありますか?

a = empty(n)
for i in range(n):
    a[i] = v

zerosおよび はonesv = 0, 1 に対して機能することはわかっています。 を使用することもできますv * ones(n)が、 場合には機能せず 、速度も v None 大幅に低下します。

ベストアンサー1

NumPy 1.8が導入されましたnp.full()これは、特定の値で満たされた配列を作成するための、にempty()従うよりも直接的な方法です。fill()

>>> np.full((3, 5), 7)
array([[ 7.,  7.,  7.,  7.,  7.],
       [ 7.,  7.,  7.,  7.,  7.],
       [ 7.,  7.,  7.,  7.,  7.]])

>>> np.full((3, 5), 7, dtype=int)
array([[7, 7, 7, 7, 7],
       [7, 7, 7, 7, 7],
       [7, 7, 7, 7, 7]])

これは、達成される内容を明示的に記述するため、特定の値で満たされた配列を作成する方法であると言えます(また、非常に具体的なタスクを実行するため、原理的には非常に効率的です)。

おすすめ記事