Spec-Zone.ru › pandas 0.18

pandas.DataFrame.apply

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

Применяет функцию к входной оси 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
Для поэлементных операций

Примечания

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

Spec-Zone.ru

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