A Pandas Series is a one-dimensional labelled array — essentially a single column of a DataFrame on its own. It has a name (the column name), an index (the row labels), and a homogeneous dtype.

When we pull a single column out of a DataFrame, the result is a Series:

import pandas as pd
df = pd.read_csv("my_data.csv")
names = df['Name']
print(names)
# 0    Ethan
# 1    Mina
# 2    Sana
# Name: Name, dtype: object

The leftmost column in the printout is the index — the row labels. By default it’s a sequence of integers , but it can be any unique sequence (strings, dates, anything hashable).

A Series supports most of the operations a NumPy array does — arithmetic, comparison, aggregation — plus the labelled-index machinery from Pandas. Indexing by integer position with .iloc:

names.iloc[0]      # 'Ethan'

Indexing by label with .loc:

names.loc[1]       # 'Mina', if 1 is the index label of that row

Conditional filtering:

df[df['Height'] > 5.8]

The Boolean array df['Height'] > 5.8 is itself a Series — a column of True/False values aligned with the rows of the DataFrame. The DataFrame indexing operator uses it to select rows.

A Series shows up as the return value of many operations: df.mean(), df['Col'].rolling(N).mean(), df['Col'].fillna(...). Statistical summaries of a DataFrame collapse one axis and produce a Series along the other.

For the two-dimensional analog with multiple columns, see Pandas DataFrame. For column-by-column windowed operations on a Series, see Pandas rolling.