我是python和numpy的新手。考虑到我有一个名为addTwo的函数,只返回给定值+ 2.我的问题是np.vectorize(addTwo)(matrix)和addTwo(matrix)之间的区别。两者都给我相同的输出。 基本上我的问题是:如果我有以下代码:
import numpy as np
def addTwo(a):
return a + 2
matr = np.array([[1, 2], [2, 3], [3, 4]])
我想知道这两者之间的区别:
addTwo(matr)
np.vectorize(addTwo)(matr)
答案 0 :(得分:0)
根据文件(
https://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.vectorize.html):
vectorize
这意味着{{1}}函数中没有reazon可以直接应用,就像在你的例子中一样。
实际上,这可能会导致性能下降。
" vectorize"的主要目标是从你的代码隐藏一个for循环。但它不会避免改变预期的结果。