Spec-Zone.ru › pandas 0.21

pandas.DataFrame.apply

DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds) [source]

Применяет функцию к входной оси DataFrame.

Объекты, передаваемые функциям, являются объектами Series, имеющими индекс либо индекс DataFrame (axis=0), либо столбцы (axis=1). Тип возвращаемого значения зависит от того, агрегирует ли переданная функция, или от аргумента reduce, если DataFrame пустой.

Параметры:

func : функция

Функция, применяемая к каждому столбцу/строке

axis : {0 или ‘index’, 1 или ‘columns’}, по умолчанию 0

  • 0 или ‘index’: применяет функцию к каждому столбцу
  • 1 или ‘columns’: применяет функцию к каждой строке

broadcast : boolean, по умолчанию False

Для агрегирующих функций возвращает объект того же размера со значениями, распространяемыми

raw : boolean, по умолчанию False

Если False, каждая строка или столбец преобразуется в Series. Если raw=True, переданная функция будет получать объекты ndarray. Если вы просто применяете функцию сокращения NumPy, это позволит значительно повысить производительность

reduce : boolean или None, по умолчанию None

Попытка применения процедур сокращения. Если DataFrame пустой, apply использует reduce для определения, должно ли результатом быть Series или DataFrame. Если reduce равен None (значение по умолчанию), значение возвращаемого результатом apply будет определяться вызовом func с пустой Series (примечание: при определении, исключения, вызываемые func, будут игнорироваться). Если reduce равно True, всегда возвращается Series, а если False – всегда DataFrame.

args : кортеж

Позиционные аргументы, передаваемые функции в дополнение к массиву/ряду

Дополнительные ключевые аргументы будут переданы в функцию в качестве ключевых аргументов

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

applied : Series или DataFrame

См. также

DataFrame.applymap
Для элементных операций
DataFrame.aggregate
выполнять только операции типа агрегирования
DataFrame.transform
выполнять только операции типа преобразования

Примечания

В текущей реализации apply вызывает func дважды для первого столбца/строки, чтобы определить, может ли он использовать быстрый или медленный путь кода. Это может привести к непредсказуемому поведению, если func имеет побочные эффекты, так как они будут действовать дважды для первого столбца/строки.

Примеры

>>> df.apply(numpy.sqrt) # returns DataFrame
>>> df.apply(numpy.sum, axis=0) # equiv to df.sum(0)
>>> df.apply(numpy.sum, axis=1) # equiv to df.sum(1)

© 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.21.1/generated/pandas.DataFrame.apply.html

Spec-Zone.ru

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