Write a program in Python to find the maximum length of a string in a given Series

In this article, we'll learn how to find the string with the maximum length in a Pandas Series. We'll explore multiple approaches including a manual loop method and built-in Pandas functions.

Problem Statement

Given a Pandas Series containing strings like ["one", "two", "eleven", "pomegranates", "three"], we need to find the string with the maximum length. In this case, "pomegranates" has 12 characters, making it the longest string.

Method 1: Using Manual Loop

The basic approach involves iterating through the Series and tracking the longest string ?

import pandas as pd

# Create a Series with strings
series = pd.Series(["one", "two", "eleven", "pomegranates", "three"])
print("Original Series:")
print(series)
print()

# Initialize variables
maxlen = 0
maxstr = ""

# Loop through each string in the series
for string in series:
    if len(string) > maxlen:
        maxlen = len(string)
        maxstr = string

print(f"String with maximum length: {maxstr}")
print(f"Length: {maxlen}")
Original Series:
0            one
1            two
2         eleven
3    pomegranates
4          three
dtype: object

String with maximum length: pomegranates
Length: 12

Method 2: Using Built-in Functions

We can use Pandas built-in methods for a more concise solution ?

import pandas as pd

series = pd.Series(["one", "two", "eleven", "pomegranates", "three"])

# Method using str.len() and idxmax()
max_length_index = series.str.len().idxmax()
longest_string = series[max_length_index]

print(f"Longest string: {longest_string}")
print(f"Length: {len(longest_string)}")

# Alternative: Using max() with key parameter
longest_alt = max(series, key=len)
print(f"Alternative method result: {longest_alt}")
Longest string: pomegranates
Length: 12
Alternative method result: pomegranates

Method 3: Getting All Details

To get comprehensive information about string lengths in the Series ?

import pandas as pd

series = pd.Series(["one", "two", "eleven", "pomegranates", "three"])

# Create a DataFrame with strings and their lengths
df = pd.DataFrame({
    'String': series,
    'Length': series.str.len()
})

print("All strings with their lengths:")
print(df)
print()

# Find the maximum length
max_length = series.str.len().max()
print(f"Maximum length: {max_length}")

# Get all strings with maximum length (in case of ties)
longest_strings = series[series.str.len() == max_length]
print(f"String(s) with maximum length:")
print(longest_strings.tolist())
All strings with their lengths:
        String  Length
0          one       3
1          two       3
2       eleven       6
3  pomegranates      12
4        three       5

Maximum length: 12
String(s) with maximum length:
['pomegranates']

Comparison

Method Performance Code Length Best For
Manual Loop Moderate Longer Learning/Understanding
str.len() + idxmax() Fast Short Single longest string
max() with key Fast Shortest Simple one-liner

Conclusion

Use max(series, key=len) for the simplest solution, or series.str.len().idxmax() for a more Pandas-native approach. The manual loop method helps understand the logic but is less efficient for large datasets.

Updated on: 2026-03-25T15:54:00+05:30

616 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements