我有两个numpy阵列X
和W
,每个形状(N,N)
由计算结束的结果。将X
的范围细分为相等的时间间隔[min(X), min(X)+delta, min(X)+2*delta,..., max(X)]
。我想知道,给定的时间间隔的起点v
,总相应W
值:(即X
的整个范围)蟒蛇/ numpy矩阵的条件求和
idx = (X>=v) & (X<(v+delta))
W[idx].sum()
我需要这个总和为所有的起始区间和我需要为许多不同的矩阵做这个X
和W
。剖析确定这是瓶颈。我现在在做的事情包括:
W_total = []
for v0, v1 in zip(X, X[1:]):
idx = (X>=x0) & (X<x1)
W_total.append(W[idx].sum())
我该如何加快速度?