Spec-Zone.ru › pandas 0.24

pandas.Series.apply

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

Вызов функции для значений Series.

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

Параметры:
func : function

Python-функция или NumPy-функция ufunc для применения.

convert_dtype : bool, default True

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

args : tuple

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

**kwds

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

Возвращает:
Series или DataFrame

Если func возвращает объект Series, результат будет DataFrame.

См. также

Series.map
Для операций над элементами.
Series.agg
Только выполнять операции агрегирования.
Series.transform
Только выполнять операции преобразования.

Примеры

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

>>> s = pd.Series([20, 21, 12],
...               index=['London', 'New York', 'Helsinki'])
>>> s
London      20
New York    21
Helsinki    12
dtype: int64

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

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

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

>>> s.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
>>> s.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
>>> s.apply(add_custom_values, june=30, july=20, august=25)
London      95
New York    96
Helsinki    87
dtype: int64

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

>>> s.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.24.2/reference/api/pandas.Series.apply.html

Spec-Zone.ru

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