当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.DataFrame.dot用法及代码示例


用法:

DataFrame.dot(other)

计算 DataFrame 和其他之间的矩阵乘法。

此方法计算 DataFrame 与其他 Series、DataFrame 或 numpy 数组的值之间的矩阵乘积。

它也可以在 Python >= 3.5 中使用 self @ other 调用。

参数

other系列、DataFrame 或array-like

计算矩阵乘积的另一个对象。

返回

Series或DataFrame

如果 other 是 Series,则将 self 和 other 之间的矩阵乘积作为 Series 返回。如果 other 是 DataFrame 或 numpy.array,则在 np.array 的 DataFrame 中返回 self 和 other 的矩阵乘积。

注意

DataFrame 和其他的维度必须兼容才能计算矩阵乘法。此外,DataFrame 的列名和 other 的索引必须包含相同的值,因为它们会在相乘之前对齐。

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

请注意,点方法给出与@相同的结果

>>> df @ other
    0   1
0   1   4
1   2   2

如果 other 是 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

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.dot。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。