This page includes an interactive code editor. Try modifying and running the examples!

Pandas Time Series Analysis

Time series analysis is a crucial aspect of data analysis that deals with time-indexed data. Pandas provides powerful tools for working with temporal data, including date/time indexing, resampling, and rolling window operations.

1. Creating Time Series Data

Pandas offers several ways to create time series data with proper datetime indexing.

  • date_range(): Generate sequences of dates
  • to_datetime(): Convert strings to datetime objects
  • Timestamp: Individual time points
  • Period: Time intervals
FrequencyCodeDescription
Dailyfreq='D'Calendar day frequency
Business Dayfreq='B'Business day frequency
Hourlyfreq='H'Hourly frequency
Weeklyfreq='W'Weekly frequency
Monthlyfreq='M'Month end frequency

2. Time Series Indexing and Slicing

Pandas allows intuitive indexing and slicing using datetime objects.

  • Partial string indexing: df['2023-01']
  • Date ranges: df['2023-01-01':'2023-01-15']
  • Time-based selection: df.between_time()

3. Resampling and Frequency Conversion

Change the frequency of your time series data.

  • Downsampling: Reduce frequency (e.g., daily to weekly)
  • Upsampling: Increase frequency (e.g., daily to hourly)
  • Aggregation methods: mean(), sum(), ohlc()

4. Rolling Window Operations

Calculate moving statistics over sliding windows.

  • Rolling mean: Moving average
  • Rolling standard deviation: Volatility measurement
  • Expanding windows: Cumulative statistics
  • Exponential weighted moving average: Recent values weighted higher

5. Shifting and Differencing

Create lag features and calculate differences for time series analysis.

  • Shift: Create lagged versions of data
  • Diff: Calculate differences between periods
  • Percentage change: pct_change()

6. Time-based Feature Engineering

Extract meaningful features from datetime index.

  • Temporal features: Day of week, month, quarter, year
  • Business features: Is weekend, is holiday, business days
  • Seasonal features: Hour of day, week of year

Time Series Components

A time series typically consists of four components:

Trend

Long-term increase or decrease

Seasonality

Regular periodic fluctuations

Cyclical

Irregular periodic fluctuations

Noise

Random variation

Example: Comprehensive Time Series Analysis

Time Series Analysis Example
Common Time Series Methods
  • resample() - Frequency conversion
  • rolling() - Moving window calculations
  • shift() - Create lag features
  • diff() - Calculate differences
  • asfreq() - Convert to specific frequency
Key Applications
  • Financial analysis (stock prices)
  • Sales forecasting
  • Weather data analysis
  • IoT sensor data
  • Web traffic analytics
Important: Always ensure your datetime index is properly set and sorted before performing time series operations. Use df.sort_index() if necessary.
Performance Tip: For large time series datasets, consider using pd.DataFrame.rolling() with engine='numba' for faster calculations.