Spec-Zone.ru › pandas 0.22

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.agg
только выполнять операции агрегирования
Series.transform
только выполнять операции преобразования

Примеры

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

>>> import pandas as pd
>>> import numpy as np
>>> series = pd.Series([20, 21, 12], index=['London',
... 'New York','Helsinki'])
>>> series
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.22.0/generated/pandas.Series.apply.html

Spec-Zone.ru

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