使用frompyfunc创建的python通用函数的数据类型

时间:2016-04-21 10:34:52

标签: python numpy types

我有关于通用功能的以下问题 在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

1 个答案:

答案 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)