Knowledge base / Python
How pandas series works in Python? Best example

When working with data in Python, the pandas library is indispensable. One of its fundamental structures is the pandas.Series object, which acts as a one-dimensional labeled array. But how exactly does pandas.Series() work in Python? Let’s break it down with practical examples.
What Is a pandas Series?
A pandas.Series is essentially a one-dimensional array-like object that can hold various data types, including integers, floats, strings, and even objects. Each value in a Series has an associated index, which makes data retrieval efficient and intuitive.
Creating a pandas Series
Let’s start by creating a simple Series from a list:
import pandas as pd
data = [10, 20, 30, 40, 50]
series = pd.Series(data)
print(series)
The output will be:
0 10
1 20
2 30
3 40
4 50
dtype: int64
As you can see, the Series assigns an automatic index starting from 0, similar to a Python list.
Custom Index in pandas Series
One of the powerful features of a Series is using custom index labels. This makes data querying more meaningful.
data = [10, 20, 30, 40, 50]
index = ['a', 'b', 'c', 'd', 'e']
series = pd.Series(data, index=index)
print(series)
Output:
a 10
b 20
c 30
d 40
e 50
dtype: int64
Now, instead of using numerical indices, I can access values using these custom labels:
print(series['c']) # Output: 30
Using Dictionaries to Create a Series
Another way to create a pandas Series is by using a dictionary:
data = {'Alice': 25, 'Bob': 30, 'Charlie': 35}
series = pd.Series(data)
print(series)
Output:
Alice 25
Bob 30
Charlie 35
dtype: int64
The dictionary keys become the Series index, making it easy to retrieve values:
print(series['Alice']) # Output: 25
Operations on pandas Series
Since a pandas.Series supports vectorized operations, performing mathematical computations is simple:
series = pd.Series([1, 2, 3, 4, 5])
print(series * 10)
This will multiply each element in the Series by 10:
0 10
1 20
2 30
3 40
4 50
dtype: int64
Checking for Missing Values
A common challenge in data analysis is handling missing values. A pandas Series allows checking for NaN values using isna() or notna():
data = [10, 20, None, 40, 50]
series = pd.Series(data)
print(series.isna()) # Returns a boolean Series
Filtering Data in a Series
Series support conditional filtering, making it easy to extract specific values:
series = pd.Series([10, 20, 30, 40, 50])
filtered = series[series > 25]
print(filtered)
The output will display values greater than 25:
2 30
3 40
4 50
dtype: int64
Converting Series to Other Data Types
At times, converting a Series to another format is necessary. Here are a few conversions:
to_list()– Convert to listto_dict()– Convert to dictionaryto_frame()– Convert to DataFrame format
Example:
series = pd.Series([10, 20, 30])
print(series.to_list()) # Output: [10, 20, 30]
print(series.to_dict()) # Output: {0: 10, 1: 20, 2: 30}
Head-to-Head Comparison: Series vs. NumPy Arrays
Let’s summarize key differences between pandas Series and NumPy arrays in table format:
| Feature | pandas.Series | NumPy Array |
|---|---|---|
| Indexing | Supports labeled indexing | Only numeric indices |
| Operations | Aligns on index | Element-wise only |
| Handling Missing Data | Supports NaN | No built-in support |
When to Use pandas Series?
Here are some common use cases for a pandas Series:
- When storing time series data
- For labeling data in machine learning
- When working with financial or stock data
- To perform quick mathematical calculations on single-column data
Conclusion
By now, you should have a solid understanding of how pandas Series works in Python. Whether it’s storing financial data, working with missing values, or performing analytics, pandas.Series is a powerful tool. If you are working with structured or semi-structured data, mastering Series will save you both time and effort.
