Pandas Tutorial
Estimated reading: 4 minutes 348 views

2️⃣ Pandas Core Data Structures – Series, DataFrames & Indexing Explained


Introduction – Why Understand Pandas Data Structures?

At the heart of Pandas are powerful data structures that provide flexible tools for data analysis and manipulation. Understanding these building blocks—Series, DataFrames, and Index—will empower you to process datasets efficiently in any domain including finance, healthcare, social media, or research.

In this guide, you’ll learn:

  • What Series and DataFrames are and how to use them
  • How to perform slicing, access values, and modify content
  • Indexing techniques for quick data lookup
  • Legacy data structure: Pandas Panel

Topics Covered

Topic Description
Pandas SeriesOne-dimensional labeled array
Creating and Accessing SeriesVarious ways to initialize and read Series
Slicing a SeriesExtracting parts of a Series
Series AttributesInspect metadata and structure
Arithmetic Operations on SeriesElement-wise math operations
Series to Other ObjectsConvert Series to lists, dicts, arrays
Pandas DataFramesTwo-dimensional labeled tabular structure
Creating & Accessing DataFramesDefine manually or from data sources
Slicing & Modifying DataFramesAccess, update or extract values
Removing RowsDrop unwanted data
Arithmetic on DataFramesAdd, subtract, divide between columns
Index Objects & Indexing TechniquesSet, reset, and slice using index
Pandas Panel (Legacy)3D data container (now deprecated)

Pandas Series

A Series is a one-dimensional array with labels (index).

import pandas as pd

s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
print(s)

Output:

a    10
b    20
c    30
dtype: int64

Creating and Accessing Series

s = pd.Series([1, 2, 3])
print(s[0])       # Access first element
print(s[:2])      # First two elements

Series can also be created from a dictionary:

data = {'x': 100, 'y': 200}
s = pd.Series(data)

Slicing a Series

s = pd.Series([10, 20, 30, 40, 50])
print(s[1:4])  # Output: 20, 30, 40

Pandas Series Attributes

s = pd.Series([10, 20, 30])
print(s.size)       # Output: 3
print(s.index)      # IndexRange
print(s.values)     # Numpy array

Arithmetic Operations on Series

s1 = pd.Series([1, 2, 3])
s2 = pd.Series([4, 5, 6])
print(s1 + s2)  # Output: 5, 7, 9

Converting Series to Other Objects

s = pd.Series([100, 200, 300])

s.to_list()         # [100, 200, 300]
s.to_dict()         # {0: 100, 1: 200, 2: 300}
s.to_numpy()        # array([100, 200, 300])

Pandas DataFrames

A DataFrame is a 2D structure with rows and columns, like a spreadsheet.

data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)
print(df)

Output:

    Name  Age
0  Alice   25
1    Bob   30

Creating and Accessing DataFrames

df = pd.DataFrame({
    'A': [1, 2],
    'B': [3, 4]
})

print(df['A'])         # Access column
print(df.loc[0])       # Access row by label
print(df.iloc[1])      # Access row by index

Slicing and Modifying DataFrames

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
print(df[1:])           # Skip first row
df.at[0, 'A'] = 10      # Modify cell

Removing Rows

df = pd.DataFrame({'Name': ['A', 'B'], 'Age': [20, 30]})
df = df.drop(0)  # Removes first row

Arithmetic Operations on DataFrames

df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})
print(df1 + df2)  # Adds matching columns

Index Objects & Indexing Techniques

df = pd.DataFrame({'X': [10, 20]}, index=['row1', 'row2'])
print(df.index)             # Index(['row1', 'row2'])
df = df.reset_index()       # Reset index
df = df.set_index('X')      # Set a new index

Pandas Panel (Legacy – Deprecated)

Panel was a 3D data structure used for multi-dimensional analysis. It has been deprecated since Pandas v1.0, and users are encouraged to use MultiIndex DataFrames or xarray.


Summary – Recap & Next Steps

Mastering Series, DataFrames, and Indexing is key to unlocking Pandas’ full potential. These structures simplify everything from small scripts to full-scale data pipelines.

Key Takeaways:

  • Series is 1D, DataFrame is 2D
  • Use .loc[], .iloc[], .at[] for flexible access
  • Indexing improves slicing, filtering, and performance

Real-World Relevance:
Pandas data structures power dashboards, analytics, ML preprocessing, and backend data wrangling in data-driven organizations.


FAQ – Pandas Data Structures

What is the difference between Series and DataFrame?

Series is a single column of data with an index; DataFrame is a table of multiple Series.


How do I modify values in a DataFrame?

Use .at[], .loc[], or assignment (df['col'][0] = value) methods.


What happened to Pandas Panel?

Panel is deprecated in favor of MultiIndex DataFrames or xarray for 3D data.


How can I perform arithmetic on Series or DataFrames?

Use standard operators like +, -, *, /—they operate element-wise.


Can I convert Series to NumPy or Python objects?

Yes, use .to_list(), .to_dict(), or .to_numpy() methods.


Share Now :
Share

2️⃣ 🧱 Pandas Core Data Structures

Or Copy Link

CONTENTS
Scroll to Top