Python numpy.dot和a.dot之间的差异(b)
两者之间有区别吗Python numpy.dot和a.dot之间的差异(b),python,numpy,matrix-multiplication,Python,Numpy,Matrix Multiplication,两者之间有区别吗 import numpy as np np.dot(a,b) 及 内部? 我找不到关于后一种方法的任何文档。如果a是一个数组,那么它们是等价的。对于dot方法,您找不到的文档是,它们可以归结为“see” 如果type(a)不是numpy.ndarray,则numpy.dot将a转换为一个数组并使用该数组进行乘法,而a.dot将执行a的类型所说的任何操作,或者如果a没有dot方法,则会引发属性错误。,这主要归结为“相当于np.dot”。该方法只存在于数组上,而不是任意数组,不过
import numpy as np
np.dot(a,b)
及
内部?
我找不到关于后一种方法的任何文档。如果
a
是一个数组,那么它们是等价的。对于dot
方法,您找不到的文档是,它们可以归结为“see”
如果
type(a)不是numpy.ndarray
,则numpy.dot
将a
转换为一个数组并使用该数组进行乘法,而a.dot
将执行a
的类型所说的任何操作,或者如果a
没有dot
方法,则会引发属性错误。,这主要归结为“相当于np.dot
”。该方法只存在于数组上,而不是任意数组,不过。np.dot([1,2,3],[4,5,6])
是有效的,一般来说,如果函数和方法版本都存在,函数会在经过一点参数处理后委托给该方法。在dot
情况下,这两个都是编译的,因此更难研究细节。在代码中使用任何一种形式看起来更漂亮。如果你打算用你的NoMy代码使用一些复杂的外部LIBS,考虑使用NP.dot()变体。这至少适用于:类似地,我们不支持语法A.dot(B);使用等效的np.点(A,B)代替。我们不支持第一种方法的原因是子类化ndarray会引发很多问题。不将ndarray子类化的另一个后果是,某些子类检查可能会中断,例如isinstance(x,np.ndarray)可能返回False。
@user2357112:是否有人想制定一个答案,以便问题不再没有答案?对于A.shape=(47,1),B.shape=(47,3)
和A.dot(B)
通过将a转换为点积,得到了一个C
,即形状(47,3)
。@mLstudent33:什么?不。A.dot(B)
在这种情况下给出了一个错误。error.shape=(100,1)
和X.shape=(100,3)
,我可以做错误。dot(X)
检查ln[10]
和ln[11]
这里:@mLstudent33:在那些单元格或笔记本的任何地方都没有错误。(同样,它在
中是,在“输入”中不是ln
)@mLstudent33:那些是1D数组,不是2D数组。没有长度为1的第二维度。
a.dot(b)