我有一个空的numpy数组,另一个填充了值。我想用填充的x次填充空的numpy数组。因此,当x=3时,(最初为空数组)将类似于[[populated_array],[populated_array], [populated_array]]
其中populated_array每次都是相同的值/数组。我试过这个
a = np.empty(3)
a.fill(np.array([4,6,6,1]))但是拿着这个
ValueError: Input object to FillWithScalar is not a scalar想要这个
[[4,6,6,1],[4,6,6,1],[4,6,6,1]]为任何帮助干杯。
发布于 2016-12-08 18:08:45
使用广播
V堆栈,瓷砖和重复都很棒,但是广播速度可以快几个数量级.
import numpy as np
from time import time
t = time()
for _ in xrange(10000):
a = np.array([4,6,6,1])
b = np.vstack((a,)*100)
print time()-t
t = time()
for _ in xrange(10000):
a = np.array([4,6,6,1])
b = np.tile(a,(3,1))
print time()-t
t = time()
for _ in xrange(10000):
a = np.array([4,6,6,1])
b = np.empty([100,a.shape[0]])
b[:] = a
print time()-t指纹:
2.76399993896
0.140000104904
0.0490000247955https://stackoverflow.com/questions/41045871
复制相似问题