Spec-Zone.ru › pandas 0.19

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 : кортеж

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

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

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

applied : Series или DataFrame

См. также

DataFrame.applymap
Для поэлементных операций

Примечания

В текущей реализации 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.19.2/generated/pandas.DataFrame.apply.html

Spec-Zone.ru

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