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