Site icon Console Flare Blog

Time Series Data Analysis with Pandas: A Practical Guide

Time series data analysis is at the heart of decision-making across various industries. Whether it’s predicting stock market trends, optimizing logistics, or monitoring health indicators, analyzing data across time plays a crucial role. With the rise of data-driven systems, handling time series data efficiently has become essential, and Pandas, a powerful Python library, provides an excellent toolkit for this purpose.

In this guide, we’ll explore how to handle time-indexed data using Pandas, from datetime conversion to resampling, rolling statistics, and real-world use cases.

What is Time Series Data?

Time series data is a sequence of data points indexed in time order, typically captured at regular intervals, such as seconds, minutes, hours, days, or months.

Common Real-World Applications:

Why Use Pandas for Time Series Analysis?

Pandas provides robust support for time series data, with intuitive functions for:

Let’s break down these capabilities step by step.

Working with Dates in Pandas

Reading and Converting Dates

import pandas as pd

# Parse datetime while reading

df = pd.read_csv(‘sales.csv’, parse_dates=[‘Date’])

# Or convert manually

df[‘Date’] = pd.to_datetime(df[‘Date’])

Creating Date Ranges

pd.date_range(start=’2024-01-01′, periods=10, freq=’D’)

Extracting Date Components

df[‘year’] = df[‘Date’].dt.year

df[‘month’] = df[‘Date’].dt.month

df[‘weekday’] = df[‘Date’].dt.day_name()

Time Series Indexing and Slicing

Set the Date as Index

df.set_index(‘Date’, inplace=True)

Time-Based Slicing

df[‘2024’]          # Data from 2024

df[‘2024-03’]       # Data from March 2024

df[‘2024-03-15’]    # Data from March 15, 2024

Resampling and Frequency Conversion

Resampling changes the frequency of your time series observations.

Downsampling: Reduce frequency

df_monthly = df.resample(‘M’).sum()  # Aggregate by month

Upsampling: Increase frequency

df_daily = df.resample(‘D’).ffill()  # Fill missing daily data

Shifting Data in Time

Shift Values

df[‘Sales_shifted’] = df[‘Sales’].shift(1)

Shift Index

df.shift(1, freq=’D’)

Rolling, Expanding, and EW Functions

These help uncover patterns like trends or volatility.

Rolling Window (Moving Averages)

 

df[‘Rolling_Mean’] = df[‘Sales’].rolling(window=3).mean()

Expanding Window

df[‘Expanding_Mean’] = df[‘Sales’].expanding().mean()

Exponentially Weighted Moving Average

df[‘EWM’] = df[‘Sales’].ewm(span=3).mean()

Handling Time Zones

Localize Time Zones

df.index = df.index.tz_localize(‘UTC’)

Convert Time Zones

df.index = df.index.tz_convert(‘Asia/Kolkata’)

Handling Missing Time Series Data

Find Missing Data

df.isnull().sum()

Fill in Missing Dates

all_days = pd.date_range(start=df.index.min(), end=df.index.max(), freq=’D’)

df = df.reindex(all_days)

Fill Missing Values

df.fillna(method=’ffill’, inplace=True)  # Forward fill

df.fillna(method=’bfill’, inplace=True)  # Backward fill

Visualizing Time Series Data

Basic Line Plot

import matplotlib.pyplot as plt

df[‘Sales’].plot(figsize=(10, 5))

plt.title(“Sales Over Time”)

plt.show()

Plotting Rolling Averages

df[‘Sales’].plot()

df[‘Rolling_Mean’].plot()

plt.legend([‘Original’, ‘Rolling Mean’])

plt.show()

Real-World Use Cases

1. Stock Market Analysis

import yfinance as yf

data = yf.download(“AAPL”, start=”2023-01-01″, end=”2024-01-01″)

data[‘Close’].plot(title=”AAPL Stock Price”)

2. Energy Consumption

df = pd.read_csv(‘energy.csv’, parse_dates=[‘timestamp’], index_col=’timestamp’)

df.resample(‘H’).mean().plot(title=”Hourly Energy Consumption”)

3. Weather Monitoring

df[‘Temp’].resample(‘W’).mean().plot(title=”Weekly Temperature”)

Final Thoughts

Pandas offers a comprehensive suite of tools for time series analysis — from basic date handling to complex rolling and resampling operations. Whether you’re working in finance, energy, healthcare, or retail, mastering these techniques will give you a strong foundation for any time-based data project.

If you’re serious about advancing your data skills, Console Flare offers hands-on training led by industry experts. You’ll gain experience working on real-world datasets and receive guidance to help you launch or grow your career in the data domain.

For more such content and regular updates, follow us on FacebookInstagramLinkedIn

seoadmin

Exit mobile version