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
| Frequency | Code | Description |
|---|---|---|
| Daily | freq='D' | Calendar day frequency |
| Business Day | freq='B' | Business day frequency |
| Hourly | freq='H' | Hourly frequency |
| Weekly | freq='W' | Weekly frequency |
| Monthly | freq='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 conversionrolling()- Moving window calculationsshift()- Create lag featuresdiff()- Calculate differencesasfreq()- Convert to specific frequency
Key Applications
- Financial analysis (stock prices)
- Sales forecasting
- Weather data analysis
- IoT sensor data
- Web traffic analytics
df.sort_index() if necessary.pd.DataFrame.rolling() with engine='numba' for faster calculations.