假设我有一个NumPy的一维数组
我想使用
a
:a = np.array([1, 2, 3])
我有一个函数foo
:
def foo(x, p):
...
return y
我想使用
foo
在a
上,例如,使用从1到3的p
,生成一个二维数组。
for
循环有什么问题? - Dani Mesejofor
循环,因为这会增加计算成本。事实上,我的问题是我的主要问题的简化版本,其中有数百万行和参数。 - Mehdi Abbassifoo
只能使用特定的维度进行调用,例如对于x
是1d和对于p
是标量,则必须针对每个这样的组合调用一次。调用那么多次需要时间,而不是迭代机制的细节。为了减少在numpy
中的时间,您需要使用numpy
编译的方法,而不是迭代,例如使用(n,)和(1,m)形状的数组的**
幂来产生(n,m)结果。在尝试“避免循环”之前,请先学习numpy
。 - hpaulj