Spec-Zone.ru › pandas 0.23

pandas.Series.apply

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

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

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

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

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

args : кортеж

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

Дополнительные ключевые аргументы будут переданы в функцию в качестве ключевых аргументов
Возвращает:
y : Series or DataFrame if func returns a Series

См. также

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

Примеры

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

>>> 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.23.4/generated/pandas.Series.apply.html

Spec-Zone.ru

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