0

我需要相互添加 2 个可变大小的暗淡数组。有很多方法可以做到这一点!

典型尺寸是几千乘几百(因为这可能会影响缩放!)。需要进行数十万次这样的添加。在我的情况下,第一个维度保证是相同的,但是子数组是可变长度的。

工作较小的例子:

a = np.ones(shape=(20,20))
b = np.ones(shape=(20,18))
c = a+b # Expected error

b.resize(a.shape)
c = b+c # This works!

有更快的方法吗?我对上面的其他 pythonic 解决方案感兴趣,但也对无论复杂性如何可能真正最快的解决方案感兴趣(在这种项目中,速度主要是王道,但不如用 C 语言编写)。

4

1 回答 1

1

如果你不介意改变a,你可以做

a[:, :b.shape[1]] += b

我怀疑这会比填充b然后添加要快,但是这样的事情需要用真实的数据进行测试。

于 2021-03-12T20:11:13.707 回答