是否有可能使用矢量參數在numpy中進行數組廣播?Numpy數組廣播與矢量參數
例如,我知道我能做到這一點
def bernoulli_fraction_to_logodds(fraction):
if fraction == 1.0:
return inf
return log(fraction/(1 - fraction))
bernoulli_fraction_to_logodds = numpy.frompyfunc(bernoulli_fraction_to_logodds, 1, 1)
,並把它與整個陣列工作。如果我有一個採用2元素矢量並返回2元素矢量的函數呢?我可以傳遞一個2元素向量的數組嗎?例如,
def beta_ml_fraction(beta):
a = beta[0]
b = beta[1]
return a/(a + b)
beta_ml_fraction = numpy.frompyfunc(beta_ml_fraction, 1, 1)
不幸的是,這是行不通的。是否有與from_py_func類似的功能。當他們是2元素向量時,我可以繞過這個問題,但是當他們是n元素向量時呢?
因此,輸入(2,3)
應該給0.4
,但輸入[[2,3], [3,3]]
應該給[0.4, 0.5]
。
謝謝,這解決了我的問題。 – 2010-10-26 22:00:14