向量化函数,看一个简单的例子,计算数组中每个元素的平方,以下为两种不同的写法
import numpy
def fun(x):
return x**2
x = numpy.array(range(5))
# 矢量化写法
vec_fun = numpy.vectorize(fun)
vec_res = vec_fun(x)
# 循环写法
loop_res = [fun(i) for i in x]
输出结果
print(vec_res)
>>> [ 0 1 4 9 16]
print(loop_res)
>>> [0, 1, 4, 9, 16]
时间上向量化似乎快一些
本文通过对比循环写法和向量化写法,演示了如何使用numpy的vectorize函数来提高数组操作的效率。通过计算数组中每个元素的平方这一简单示例,展示了向量化写法在时间性能上的优势。
971

被折叠的 条评论
为什么被折叠?



