Spec-Zone.ru › pandas 0.22

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

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

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

Возвращает:

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

Spec-Zone.ru

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