pandas.Series.apply
-
Series.apply(func, convert_dtype=True, args=(), **kwds) -
Вызов функции для значений Series. Может быть ufunc (функция NumPy, применяемая к всей Series) или Python-функция, которая работает только со значениями по отдельности
Параметры: func : функция
convert_dtype : boolean, по умолчанию True
Попытка найти лучшее dtype для результатов элементной функции. Если False, оставляем dtype=object
args : кортеж
Позиционные аргументы, которые необходимо передать функции в дополнение к значению
Дополнительные ключевые аргументы будут переданы в качестве ключевых аргументов функции
Возвращает: y : Series или DataFrame, если func возвращает Series
См. также
-
Series.map - Для операций над элементами
Примеры
Создайте серию с типичными летними температурами для каждого города.
>>> import pandas as pd >>> import numpy as np >>> series = pd.Series([20, 21, 12], index=['London', ... 'New York','Helsinki']) 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
Используйте функцию из библиотеки 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.18.1/generated/pandas.Series.apply.html