pandas 1.4.2

NotesParametersReturnsBackRef
apply(self, func: 'AggFuncType', convert_dtype: 'bool' = True, args: 'tuple[Any, ...]' = (), **kwargs) -> 'DataFrame | Series'

Can be ufunc (a NumPy function that applies to the entire Series) or a Python function that only works on single values.

Notes

Functions that mutate the passed object can produce unexpected behavior or errors and are not supported. See gotchas.udf-mutation for more details.

Parameters

func : function

Python function or NumPy ufunc to apply.

convert_dtype : bool, default True

Try to find better dtype for elementwise function results. If False, leave as dtype=object. Note that the dtype is always preserved for some extension array dtypes, such as Categorical.

args : tuple

Positional arguments passed to func after the series value.

**kwargs :

Additional keyword arguments passed to func.

Returns

Series or DataFrame

If func returns a Series object the result will be a DataFrame.

Invoke function on values of Series.

See Also

Series.agg

Only perform aggregating type operations.

Series.map

For element-wise operations.

Series.transform

Only perform transforming type operations.

Examples

Create a series with typical summer temperatures for each city.

This example is valid syntax, but we were not able to check execution
>>> s = pd.Series([20, 21, 12],
...  index=['London', 'New York', 'Helsinki'])
... s London 20 New York 21 Helsinki 12 dtype: int64

Square the values by defining a function and passing it as an argument to apply() .

This example is valid syntax, but we were not able to check execution
>>> def square(x):
...  return x ** 2
... s.apply(square) London 400 New York 441 Helsinki 144 dtype: int64

Square the values by passing an anonymous function as an argument to apply() .

This example is valid syntax, but we were not able to check execution
>>> s.apply(lambda x: x ** 2)
London      400
New York    441
Helsinki    144
dtype: int64

Define a custom function that needs additional positional arguments and pass these additional arguments using the args keyword.

This example is valid syntax, but we were not able to check execution
>>> def subtract_custom_value(x, custom_value):
...  return x - custom_value
This example is valid syntax, but we were not able to check execution
>>> s.apply(subtract_custom_value, args=(5,))
London      15
New York    16
Helsinki     7
dtype: int64

Define a custom function that takes keyword arguments and pass these arguments to apply .

This example is valid syntax, but we were not able to check execution
>>> def add_custom_values(x, **kwargs):
...  for month in kwargs:
...  x += kwargs[month]
...  return x
This example is valid syntax, but we were not able to check execution
>>> s.apply(add_custom_values, june=30, july=20, august=25)
London      95
New York    96
Helsinki    87
dtype: int64

Use a function from the Numpy library.

This example is valid syntax, but we were not able to check execution
>>> s.apply(np.log)
London      2.995732
New York    3.044522
Helsinki    2.484907
dtype: float64
See :

Back References

The following pages refer to to this document either explicitly or contain code examples using this.

pandas.core.groupby.generic.SeriesGroupBy.apply pandas.core.series.Series.aggregate pandas.core.arrays.categorical.Categorical.map pandas.core.groupby.groupby.GroupBy.apply pandas.core.series.Series.transform pandas.core.indexes.category.CategoricalIndex.map pandas.core.series.Series.map

Local connectivity graph

Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.

Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)

SVG is more flexible but power hungry; and does not scale well to 50 + nodes.

All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them


File: /pandas/core/series.py#4323
type: <class 'function'>
Commit: