DataFrame.dot(self, other)
计算DataFrame与其他之间的矩阵乘法。
此方法计算DataFrame与其他Series,DataFrame或numpy数组的值之间的矩阵乘积。
它也可以在Python> = 3.5中使用。self @ other
参数: | other : 用于计算矩阵乘积的另一个对象。 |
返回: |
如果其他是Series,则将自我和其他的矩阵产品作为Serie返回。 如果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