Spec-Zone.ru › pandas 0.25

pandas.DataFrame.divide

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

Получение дробного деления DataFrame и другого элемента по элементу (бинарная операция truediv).

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

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

Параметры:
other : scalar, sequence, Series, or DataFrame

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

axis : {0 or ‘index’, 1 or ‘columns’}

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

level : int or label

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

fill_value : float or None, default None

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

Возвращаемое значение:
DataFrame

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

См. также

DataFrame.add
Сложение DataFrames.
DataFrame.sub
Вычитание DataFrames.
DataFrame.mul
Умножение DataFrames.
DataFrame.div
Деление DataFrames (дробное деление).
DataFrame.truediv
Деление DataFrames (дробное деление).
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

Умножение 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–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.divide.html

Spec-Zone.ru

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