我有两个参数的Python函数f(x,y)
,它返回一个标量。我还有两个np.array
个可能的参数,xs
和ys
。我想计算一个形状为(xs.size, ys.size)
的二维numpy数组,其中包含从f
和xs
得出的所有参数组合中评估的ys
值。结果应该等于
np.array([[f(x,y) for y in ys] for x in xs])
我希望尽可能高效地实现这一目标,并利用多个处理器内核。 f
没有任何副作用。我尝试使用numpy.vectorize
,但没有设法使用它达到预期的效果。例如。对于numpy.outer
的特殊情况,f=operator.__mul__
完全符合我的要求。
作为一个额外的警告,虽然可能没有立即相关,但是数组中的一个(ys
)不包含数字,而是scipy.interpolate.interp1d
返回的对象。函数f
通过这些插值的scipy.integrate.quad
计算定积分。生成的矩阵仍然只包含数字。
答案 0 :(得分:1)
假设f是python函数,请将.outer()
与np.frompyfunc(f, 2, 1).outer(xs, ys)
es = Elasticsearch({'host': 'localhost', 'port': 9200})
res = es.index(index='data-client_dev', doc_type='test', id=2, body={'author': 'Christophe'}, timeout=60)
print(res['created'])