Spec-Zone.ru › pandas 2

pandas.DataFrame.rmul

DataFrame.rmul(other, axis='columns', level=None, fill_value=None)[source]

Получение произведения датафрейма и другого объекта поэлементно (бинарный оператор rmul).

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

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

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

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

axis:{0 или ‘индекс’, 1 или ‘колонки’}

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

level:целое число или метка

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

fill_value:число с плавающей точкой или None, по умолчанию None

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

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

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

См. также

DataFrame.add

Сложение DataFrame.

DataFrame.sub

Вычитание DataFrame.

DataFrame.mul

Умножение DataFrame.

DataFrame.div

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

DataFrame.truediv

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

DataFrame.floordiv

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

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

© 2008–2022, 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/2.2.2/reference/api/pandas.DataFrame.rmul.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API