當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。