如何在python中实现“cumdot”

时间:2017-10-31 04:35:48

标签: python numpy

假设我有两个长度相同的1d数组(说n),现在我想实现一个“cumdot”函数,它输出长度为n的1d数组,可以用纯python代码实现

def cumdot(a,b):#a,b are two 1d arrays with same length
    n = len(a)
    output = np.empty(n)
    for i in range(n):
        output[i] = np.dot(a[:i+1],b[:i+1])
    return output

如何更有效地实施“cumdot”功能?

2 个答案:

答案 0 :(得分:3)

def cumdot(a, b):
    return numpy.cumsum(a * b)

答案 1 :(得分:-1)

我认为纯python 你的意思是:使用python的核心!

def comdot(a, b):
    result = [i[0]*i[1] for i in zip(a, b)]
    return result