使用有什么不同
import numpy as np
a, b = np.random([1024, 1024]), np.random([1024, 1024])
c = np.multiply(a, b)
Run Code Online (Sandbox Code Playgroud)
过度
c = a * b
Run Code Online (Sandbox Code Playgroud)
或者是*numpy-arrays上的-Operator只是被覆盖了np.multiply?
编辑:这个问题被标记为重复,因为一个问题询问有关除法运算符(np.divide()vs/)和类似答案的相同的事情,但除非它被改为"numpy算术与python算术"或类似的东西,它赢了'帮助人们想到和我一样的事情(关于乘法)而不是"聪明"足以假设关于相关算术运算(除法)的问题推广到所有基本算术运算.为了更容易找到答案,我主张保持这个问题.
numpy.divide和Python斜杠/运算符之间有什么相同点和不同点?据我所知,他们的行为相同,都实现了元素划分.该numpy的文件中提到:
numpy.divide(x1,x2)......就阵列广播而言,相当于x1/x2....
暗示np.divide(x1,x2)并不完全等同于x1/x2.我运行了以下代码片段来比较它们的速度:
import numpy as np
import time
a = np.random.rand(10000, 10000)
b = np.random.rand(10000, 10000)
tic = time.time()
c = a / b
toc = time.time()
print("Python divide took: ", toc - tic)
tic = time.time()
c = np.divide(a, b)
toc = time.time()
print("Numpy divide took: ", toc - tic)
Run Code Online (Sandbox Code Playgroud)
似乎Python鸿沟通常运行得更快,这使我相信Numpy鸿沟实现了一些额外的花里胡哨.
任何帮助深表感谢!