我有关于通用功能的以下问题 在numpy。如何定义返回的通用函数 与numpy内置函数相同类型的numpy数组。 以下示例代码:
import numpy as np
def mysimplefunc(a):
return np.sin(a)
mysimpleufunc = np.frompyfunc(mysimplefunc,1,1)
a = np.linspace(0.0,1.0,3)
print(np.sin(a).dtype)
print(mysimpleufunc(a).dtype)
导致输出:
float64
object
非常感谢任何帮助:)
PS:我正在使用python 3.4
答案 0 :(得分:0)
我找到了解决方案 (另见discussion on stackoverflow): 使用vectorize而不是frompyfunc
import numpy as np
def mysimplefunc(a):
return np.sin(a)
mysimpleufunc = np.vectorize(mysimplefunc)
a = np.linspace(0.0,1.0,3)
print(np.sin(a).dtype)
print(mysimpleufunc(a).dtype)