以下3种方法有哪些区别,哪种方法更适合使用?
import numpy as np
a = np.array([1, 2])
b = np.array([2, 1])
sum(a*b) # mtd 1
(a*b).sum() # mtd 2
np.sum(a*b) # mtd 3
答案 0 :(得分:2)
最好的是np.dot(a, b)
,这意味着您正在执行的操作:将a的条目乘以b的条目,然后将它们相加。
至于np.sum(array)
vs array.sum()
,这两种表达同一事物的方式,两种形式都是为方便起见而提供的。
正如ajcr所说,sum(a*b)
不是最理想的,因为它是一个简单的Python方法,而不是NumPy方法。 Python sum
必须处理Python列表中存在的各种事物。 NumPy数组是同构的,包含相同类型的对象,因此它的方法利用了这一点。