Spec-Zone.ru › pandas 0.25

pandas.Series.apply

Series.apply(self, 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
Только выполнять операции преобразования.

Примеры

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

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

Spec-Zone.ru

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