Python | Pandas.Series.apply()

Last Updated : 23 Feb, 2026

Series.apply() method in Pandas is used to apply a function to each element of a Series. It allows to transform, modify or categorize data easily by running a custom function or lambda function on every value.

Example: This example applies a function to double each value in a Series.

Python
import pandas as pd
s = pd.Series([1, 2, 3, 4])
r = s.apply(lambda x: x * 2)
print(r)

Output
0    2
1    4
2    6
3    8
dtype: int64

Explanation: s.apply(lambda x: x * 2) applies the function to each element of s and each value is multiplied by 2 and returned as a new Series

Syntax

Series.apply(func, convert_dtype=True, args=())

Parameters:

  • func: Function to apply on each value of the Series
  • convert_dtype: Converts result to best possible dtype (default True)
  • args: Additional arguments passed to the function

Return: Returns a new Pandas Series with modified values

Examples

Example 1: This example uses apply() with a custom function to classify each mark in the Series as Pass or Fail based on a condition.

PYTHON
import pandas as pd

s = pd.Series([35, 67, 90, 45])
def f(x):
    return "Pass" if x >= 50 else "Fail"

r = s.apply(f)
print(r)

Output
0    Fail
1    Pass
2    Pass
3    Fail
dtype: object

Explanation:

  • pd.Series([35, 67, 90, 45]) creates a Series of marks.
  • def f(x): defines a function that checks each value.
  • "Pass" if x >= 50 else "Fail" returns result based on condition.
  • s.apply(f) applies function f to every element of the Series.

Example 2: This example uses apply() with a lambda function to increase each salary value in the Series by 10%.

PYTHON
import pandas as pd
s = pd.Series([10000, 15000, 20000])
r = s.apply(lambda x: x * 1.10)
print(r)

Output
0    11000.0
1    16500.0
2    22000.0
dtype: float64

Explanation:

  • lambda x: x * 1.10 defines a function to increase value by 10%.
  • s.apply(lambda x: x * 1.10) applies this function to each salary.
  • Each value is multiplied by 1.10.

Example 3: This example uses apply() to convert each numeric value into a formatted text string.

Python
import pandas as pd
s = pd.Series([5, 10, 15])
r = s.apply(lambda x: "Value is " + str(x))
print(r)

Output
0     Value is 5
1    Value is 10
2    Value is 15
dtype: object

Explanation:

  • lambda x: "Value is " + str(x) converts number into text.
  • str(x) converts numeric value into string.
  • s.apply(...) applies this conversion to every element.
Comment

Explore