DataFrame.dot(self, other)
计算DataFrame与其他之间的矩阵乘法。
此方法计算DataFrame与其他Series,DataFrame或numpy数组的值之间的矩阵乘积。
它也可以在Python> = 3.5中使用。self @ other
参数:other : Series,DataFrame或类似数组
用于计算矩阵乘积的另一个对象。
返回:Series或DataFrame
如果其他是Series,则将自我和其他的矩阵产品作为Serie返回。
如果other是DataFrame或numpy.array,
则在np.array的DataFrame中返回self和other的矩阵乘积。
Note
DataFrame和其他的维度必须兼容才能计算矩阵乘法。此外,DataFrame的列名称和其他索引必须包含相同的值,因为它们将在乘法之前对齐。Series的dot方法计算内积,而不是此处的矩阵乘积。
例子
在这里,我们将DataFrame与Series相乘>>> df = pd.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])
>>> s = pd.Series([1, 1, 2, 1])
>>> df.dot(s)
0 -4
1 5
dtype: int64
在这里,我们将DataFrame与另一个DataFrame相乘>>> other = pd.DataFrame([[0, 1], [1, 2], [-1, -1], [2, 0]])
>>> df.dot(other)
0 1
0 1 4
1 2 2
请注意,dot方法给出与@相同的结果>>> df @ other
0 1
0 1 4
1 2 2
如果其他是np.array,则dot方法也适用>>> arr = np.array([[0, 1], [1, 2], [-1, -1], [2, 0]])
>>> df.dot(arr)
0 1
0 1 4
1 2 2
请注意对象的混乱如何不会改变结果>>> s2 = s.reindex([1, 0, 2, 3])
>>> df.dot(s2)
0 -4
1 5
dtype: int64