- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
vectorize 和有什么区别?和 frompyfunc在 numpy 中?
两者看起来非常相似。它们各自的典型用例是什么?
Edit:正如 JoshAdel 所指出的,vectorize
类似乎是建立在 frompyfunc
之上的。 (见 the source)。我仍然不清楚 frompyfunc
是否可能有任何 vectorize
...
最佳答案
正如 JoshAdel 指出的那样,vectorize
包装了 frompyfunc
。 Vectorize 增加了额外的功能:
编辑:经过一些简短的基准测试,我发现对于大型数组,vectorize
比 frompyfunc
慢得多(~50%)。如果性能对您的应用程序至关重要,请首先对您的用例进行基准测试。
`
>>> a = numpy.indices((3,3)).sum(0)
>>> print a, a.dtype
[[0 1 2]
[1 2 3]
[2 3 4]] int32
>>> def f(x,y):
"""Returns 2 times x plus y"""
return 2*x+y
>>> f_vectorize = numpy.vectorize(f)
>>> f_frompyfunc = numpy.frompyfunc(f, 2, 1)
>>> f_vectorize.__doc__
'Returns 2 times x plus y'
>>> f_frompyfunc.__doc__
'f (vectorized)(x1, x2[, out])\n\ndynamic ufunc based on a python function'
>>> f_vectorize(a,2)
array([[ 2, 4, 6],
[ 4, 6, 8],
[ 6, 8, 10]])
>>> f_frompyfunc(a,2)
array([[2, 4, 6],
[4, 6, 8],
[6, 8, 10]], dtype=object)
`
关于python - numpy中frompyfunc和vectorize的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6768245/
Numpy 提供 vectorize和 frompyfunc具有类似的功能。 正如本文SO-post中指出的那样, 矢量化 wraps frompyfunc 并正确处理返回数组的类型,而 frompy
我正在使用 SHTOOLS 包中的 PLegendre 函数。它返回特定参数的勒让德多项式数组。 PLegendre(lmax,x) 返回勒让德多项式 P_0(x) 到 P_lmax(x) 的数组。它
[编辑:我有点重温了这个例子,所以我没有很好地清理我的代码。我的问题更多关于如何将子数组传递给 numpy.vectorize-d 函数,而不是专门针对此示例。] 我不知道如何使用 numpy.vec
来自像 db 这样的数组(大约是 (1e6, 300))和一个 mask = [1, 0, 1] 向量,我将目标定义为第一列中的 1。 我想创建一个 out 向量,其中包含 db 中的相应行与 mas
我是一名优秀的程序员,十分优秀!