Numpy创造功能

时间:2014-02-28 08:15:02

标签: numpy

我需要这样的东西

def qqq(i,j):
    if i+j>2:
        return 0.5
    else:
        return 0
n=3
dcdt=np.fromfunction(lambda i,j: qqq(i,j)*i*j, (n,n), dtype=int)

但qqq更复杂。但它导致错误“具有多个元素的数组的真值是不明确的。使用a.any()或a.all()”。我知道问题是函数被调用一次。如何在函数中使用“if-elif-else”结构创建这样的数组?

1 个答案:

答案 0 :(得分:2)

您应该将qqq功能转换为:

def qqq(i, j):
    return np.where(i + j > 2, 0.5, 0)

有关详细信息,请参阅np.where's docs