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