pandas.DataFrame.mul#

DataFrame.mul(other, ось='columns', уровень=None, fill_value=None)[источник]#

Получение умножения dataframe и другого объекта поэлементно (бинарный оператор mul).

Эквивалентно dataframe * other, но с поддержкой замены fill_value для отсутствующих данных в одном из входов. С обратной версией, rmul.

Среди гибких оберток (добавить, sub, mul, div, floordiv, mod, pow) для арифметических операторов: +, -, *, /, //, %, **.

Параметры:
otherскаляр, последовательность, Series, dict или DataFrame

Любая структура данных с одним или несколькими элементами, или объект, подобный списку.

ось{0 или ‘index’, 1 или ‘columns’}

Сравнивать по индексу (0 или 'index') или по столбцам (1 или 'columns'). Для Series входных данных, ось для соответствия индексу Series.

уровеньцелое число или метка

Трансляция по уровню, сопоставляя значения Index на переданном уровне MultiIndex.

fill_valuefloat или None, по умолчанию None

Заполните существующие пропущенные (NaN) значения и любые новые элементы, необходимые для успешного выравнивания DataFrame, этим значением перед вычислением. Если данные в обоих соответствующих местах DataFrame отсутствуют, результат будет пропущен.

Возвращает:
DataFrame

Результат арифметической операции.

Смотрите также

DataFrame.add

Сложить DataFrames.

DataFrame.sub

Вычитание DataFrames.

DataFrame.mul

Умножение DataFrame.

DataFrame.div

Деление DataFrame (деление с плавающей точкой).

DataFrame.truediv

Деление DataFrame (деление с плавающей точкой).

DataFrame.floordiv

Деление DataFrames (целочисленное деление).

DataFrame.mod

Вычисление модуля (остатка от деления).

DataFrame.pow

Вычислить экспоненциальную степень.

Примечания

Несовпадающие индексы будут объединены.

Примеры

>>> df = pd.DataFrame({'angles': [0, 3, 4],
...                    'degrees': [360, 180, 360]},
...                   index=['circle', 'triangle', 'rectangle'])
>>> df
           angles  degrees
circle          0      360
triangle        3      180
rectangle       4      360

Добавить скаляр с версией оператора, которая возвращает те же результаты.

>>> df + 1
           angles  degrees
circle          1      361
triangle        4      181
rectangle       5      361
>>> df.add(1)
           angles  degrees
circle          1      361
triangle        4      181
rectangle       5      361

Деление на константу с обратной версией.

>>> df.div(10)
           angles  degrees
circle        0.0     36.0
triangle      0.3     18.0
rectangle     0.4     36.0
>>> df.rdiv(10)
             angles   degrees
circle          inf  0.027778
triangle   3.333333  0.055556
rectangle  2.500000  0.027778

Вычесть список и Series по оси с версией оператора.

>>> df - [1, 2]
           angles  degrees
circle         -1      358
triangle        2      178
rectangle       3      358
>>> df.sub([1, 2], axis='columns')
           angles  degrees
circle         -1      358
triangle        2      178
rectangle       3      358
>>> df.sub(pd.Series([1, 1, 1], index=['circle', 'triangle', 'rectangle']),
...        axis='index')
           angles  degrees
circle         -1      359
triangle        2      179
rectangle       3      359

Умножение словаря по оси.

>>> df.mul({'angles': 0, 'degrees': 2})
            angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
            angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080

Умножение DataFrame другой формы с операторной версией.

>>> other = pd.DataFrame({'angles': [0, 3, 4]},
...                      index=['circle', 'triangle', 'rectangle'])
>>> other
           angles
circle          0
triangle        3
rectangle       4
>>> df * other
           angles  degrees
circle          0      NaN
triangle        9      NaN
rectangle      16      NaN
>>> df.mul(other, fill_value=0)
           angles  degrees
circle          0      0.0
triangle        9      0.0
rectangle      16      0.0

Разделить по MultiIndex по уровню.

>>> df_multindex = pd.DataFrame({'angles': [0, 3, 4, 4, 5, 6],
...                              'degrees': [360, 180, 360, 360, 540, 720]},
...                             index=[['A', 'A', 'A', 'B', 'B', 'B'],
...                                    ['circle', 'triangle', 'rectangle',
...                                     'square', 'pentagon', 'hexagon']])
>>> df_multindex
             angles  degrees
A circle          0      360
  triangle        3      180
  rectangle       4      360
B square          4      360
  pentagon        5      540
  hexagon         6      720
>>> df.div(df_multindex, level=1, fill_value=0)
             angles  degrees
A circle        NaN      1.0
  triangle      1.0      1.0
  rectangle     1.0      1.0
B square        0.0      0.0
  pentagon      0.0      0.0
  hexagon       0.0      0.0