pandas.DataFrame.dot
-
DataFrame.dot(self, other)[source] -
Вычислить матричное произведение между DataFrame и другим объектом.
Этот метод вычисляет матричное произведение между DataFrame и значениями другого Series, DataFrame или массива numpy.
Его также можно вызвать с помощью
self @ otherв Python >= 3.5.Параметры: -
other : Series, DataFrame or array-like -
Другой объект для вычисления матричного произведения.
Возвращает: - Series или DataFrame
-
Если other — это Series, возвращает матричное произведение между self и other в виде Series. Если other — DataFrame или numpy.array, возвращает матричное произведение self и other в DataFrame или np.array.
См. также
-
Series.dot - Аналогичный метод для Series.
Примечания
Размеры DataFrame и other должны быть совместимы для вычисления матричного произведения. Кроме того, имена столбцов DataFrame и индекс other должны содержать одинаковые значения, так как они будут выровнены перед умножением.
Метод dot для Series вычисляет скалярное произведение, а не матричное произведение.
Примеры
Здесь мы умножаем 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Метод dot работает также, если other — это np.array.
>>> 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
-
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.25.0/reference/api/pandas.DataFrame.dot.html