%timeit a=np.empty(1e4); a.fill(5)
100000 loops, best of 3: 5.85 us per loop
%timeit a=np.empty(1e4); a[:]=5
100000 loops, best of 3: 7.15 us per loop
%timeit a=np.ones(1e4)*5
10000 loops, best of 3: 22.9 us per loop
%timeit a=np.repeat(5,(1e4))
10000 loops, best of 3: 81.7 us per loop
%timeit a=np.tile(5,[1e4])
10000 loops, best of 3: 82.9 us per loop
NumPy 1.8引入了^{} ,这是一种比
empty()
和fill()
更直接的方法,用于创建一个填充了特定值的数组:这可以说是创建一个填充了特定值的数组的方法,因为它显式地描述了正在实现的目标(原则上它可以非常高效,因为它执行一个非常特定的任务)。
为Numpy 1.7.0更新:(给@Rolf Bartstra的帽子提示。)
a=np.empty(n); a.fill(5)
是最快的。按降速顺序:
我相信^{} 是最快的方法。
您还应该始终避免像在示例中那样进行迭代。一个简单的
a[:] = v
将使用numpy broadcasting完成迭代所做的工作。相关问题 更多 >
编程相关推荐