Spec-Zone.ru › pandas 0.20

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 reduction, это значительно повысит производительность

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

Spec-Zone.ru

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