【发布时间】:2021-12-20 10:49:44
【问题描述】:
找不到符合这个确切标准的问题/答案,但如果这是一个重复的问题,我会删除它。是否有与以下代码等效的 numpy 或者将我的代码保持原样/使用 xrange 更好?
x = [i for i in range (50)]
y = [i for i in range (120)]
for i in x:
foo = [i+z for z in y]
print(foo)
这是一个玩具示例,但我正在使用的数据集可以从这样的范围到示例中大小的 1000 倍;我已经尝试过np.idter,但没有看到太多的性能提升,正如我从bmu's answer here 收集的那样,使用 range 迭代一个 numpy 数组是最糟糕的。但我看不到 ufunc 和索引如何重现与上面相同的结果,这是我想要的结果。
【问题讨论】:
-
np.add.outer(x,y)?另请阅读broadcasting