spl*_*ter 5 python arrays numpy python-3.x
我对寻找使用Numpy在Python3.6中进行简单操作的最快方法感兴趣。我希望创建一个函数,并从给定的数组到函数值的数组。这是使用以下代码的简化代码map
:
import numpy as np
def func(x):
return x**2
xRange = np.arange(0,1,0.01)
arr_func = np.array(list(map(func, xRange)))
Run Code Online (Sandbox Code Playgroud)
但是,由于我使用复杂的函数运行它并使用大型数组,因此运行时速度对我来说非常重要。有没有已知的更快方法?
编辑我的问题与这一问题不同,因为我要问的是从函数而不是生成器进行赋值。
检查相关的如何从生成器构建 numpy 数组?,其中最引人注目的选项似乎是预分配 numpy 数组并设置值,而不是创建一次性的中间列表。
arr_func = np.empty(len(xRange))
for i in range(len(xRange)):
arr_func[i] = func(xRange[i])
Run Code Online (Sandbox Code Playgroud)