相关疑难解决方法(0)

当结果依赖于前一个单元格时,如何将函数应用于数组的每个元素

我有一个数组:

a = np.array([2,3,5,8,3,5])
Run Code Online (Sandbox Code Playgroud)

什么是计算数组的最有效(矢量化)方法,其中每个结果元素是(伪代码):

result[0] = a[0]
for i > 0:
    result[i] = result[i-1] + (a[i] - result[i-1]) * factor
Run Code Online (Sandbox Code Playgroud)

我可以使用以下低效代码(因子= 0.5)执行此操作:

a = np.array([2,3,5,8,3,5])
result = np.array([a[0]])
for k in a[1:]:
   result = np.append(result, result[-1]+(k-result[-1])*0.5)
Run Code Online (Sandbox Code Playgroud)

这种阻尼功能的结果是:

array([ 2.,  2.5,  3.75,  5.875,  4.4375,  4.71875])
Run Code Online (Sandbox Code Playgroud)

python arrays numpy

4
推荐指数
1
解决办法
259
查看次数

标签 统计

arrays ×1

numpy ×1

python ×1