在Numpy阵列上numpy.square使用**运算符是否有区别?
从我可以看到它产生相同的结果.
执行效率有何不同?
澄清的一个例子:
In [1]: import numpy as np
In [2]: A = np.array([[2, 2],[2, 2]])
In [3]: np.square(A)
Out[3]:
array([[4, 4],
[4, 4]])
In [4]: A ** 2
Out[4]:
array([[4, 4],
[4, 4]])
Run Code Online (Sandbox Code Playgroud)
sai*_*uri 19
您可以检查执行时间以获得清晰的图像
In [2]: import numpy as np
In [3]: A = np.array([[2, 2],[2, 2]])
In [7]: %timeit np.square(A)
1000000 loops, best of 3: 923 ns per loop
In [8]: %timeit A ** 2
1000000 loops, best of 3: 668 ns per loop
Run Code Online (Sandbox Code Playgroud)