【发布时间】:2014-02-06 16:01:18
【问题描述】:
我正在尝试对 python 中的函数进行矢量化。我希望函数的参数能够作为标量(浮点数、整数等)或作为 numpy 数组传递。对于作为标量传递的参数,它们应该作为指定长度的 numpy 数组进行广播。
函数的参数随后将在函数中使用,因此需要维护参数的名称。
这是我目前拥有的代码,但它不起作用:
def f(arg1, arg2, length = 4):
arguments = locals()
for name in arguments:
if isinstance(arguments[name], (float,int)) :
eval(name) = np.array([float(arguments[name])] * length)
return arg1,arg2
函数应该这样返回:
f(1,2,长度 = 4)
=> 数组([1.,1.,1.,1.]) , 数组([2.,2.,2.,2.])
谢谢!
【问题讨论】:
-
出于兴趣,这个有什么用例?
-
财务/现金流功能。参数将是财务参数,例如首付百分比、贷款期限等。