Spec-Zone.ru › pandas 0.19

pandas.Series.apply

Series.apply(func, convert_dtype=True, args=(), **kwds) [source]

Вызов функции для значений Series. Может быть ufunc (функция NumPy, которая применяется ко всему Series) или Python-функция, которая работает только со значениями по одному.

Параметры:

func : функция

convert_dtype : boolean, по умолчанию True

Попытка найти лучший тип данных для результатов элементной функции. Если False, оставить как dtype=object

args : кортеж

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

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

Возвращает:

y : Series или DataFrame, если func возвращает Series

См. также

Series.map
Для операций с элементами

Примеры

Создайте Series с типичными летними температурами для каждого города.

>>> import pandas as pd
>>> import numpy as np
>>> series = pd.Series([20, 21, 12], index=['London',
... 'New York','Helsinki'])
London      20
New York    21
Helsinki    12
dtype: int64

Возведите в квадрат значения, определив функцию и передав её как аргумент в apply().

>>> def square(x):
...     return x**2
>>> series.apply(square)
London      400
New York    441
Helsinki    144
dtype: int64

Возведите в квадрат значения, передав анонимную функцию как аргумент в apply().

>>> series.apply(lambda x: x**2)
London      400
New York    441
Helsinki    144
dtype: int64

Определите пользовательскую функцию, которая нуждается в дополнительных позиционных аргументах, и передайте эти дополнительные аргументы, используя ключевое слово args.

>>> def subtract_custom_value(x, custom_value):
...     return x-custom_value
>>> series.apply(subtract_custom_value, args=(5,))
London      15
New York    16
Helsinki     7
dtype: int64

Определите пользовательскую функцию, которая принимает ключевые аргументы, и передайте эти аргументы в apply.

>>> def add_custom_values(x, **kwargs):
...     for month in kwargs:
...         x+=kwargs[month]
...         return x
>>> series.apply(add_custom_values, june=30, july=20, august=25)
London      95
New York    96
Helsinki    87
dtype: int64

Используйте функцию из библиотеки Numpy.

>>> series.apply(np.log)
London      2.995732
New York    3.044522
Helsinki    2.484907
dtype: float64

© 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.Series.apply.html

Spec-Zone.ru

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