pandas.DataFrame.dot#
- DataFrame.dot(other)[источник]#
Вычислить матричное умножение между DataFrame и другим объектом.
Этот метод вычисляет матричное произведение между DataFrame и значениями другого Series, DataFrame или массива numpy.
Также может быть вызван с помощью
self @ other.- Параметры:
- otherSeries, DataFrame или 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