【发布时间】:2012-06-04 23:52:21
【问题描述】:
我试图通过对二维数组应用操作来提高 numpy 性能,问题是数组中每个元素的值取决于该元素的 i,j 位置。
显然,最简单的方法是使用嵌套的 for 循环,但我想知道是否有更好的方法通过引用 np.indices 或类似的东西?这是我的“愚蠢”代码:
for J in range(1025):
for I in range(1025):
PSI[I][J] = A*math.sin((float(I+1)-.5)*DI)*math.sin((float(J+1)-.5)*DJ)
P[I][J] = PCF*(math.cos(2.*float(I)*DI)+math.cos(2.*float(J)*DJ))+50000.
【问题讨论】:
-
没有人明确解决这个问题,但是在索引 numpy 数组的地方使用 python for 循环正在失去用 C 编写 numpy 的速度优势。
标签: python arrays performance numpy indexing