Summarizing Datetime Data in Pandas – Complete Guide for Data Science 2026
Summarizing datetime data is one of the most powerful and common operations in data science. Whether you need monthly sales trends, hourly usage patterns, day-of-week behavior, or rolling time windows, pandas provides fast, flexible tools to aggregate and analyze time-based data at any granularity.
TL;DR — Key Techniques
- Use
.dtaccessor to extract components (year, month, hour, weekday) groupby()+.dtfor aggregation by date partsresample()for time-series resamplingrolling()+Timedeltafor time-based windows
1. Extracting Components and Basic Grouping
import pandas as pd
df = pd.read_csv("sales_data.csv", parse_dates=["order_date"])
# Extract components
df["year"] = df["order_date"].dt.year
df["month"] = df["order_date"].dt.month
df["day_name"] = df["order_date"].dt.day_name()
df["hour"] = df["order_date"].dt.hour
# Monthly summary
monthly_sales = df.groupby(["year", "month"])["amount"].agg(["sum", "mean", "count"])
print(monthly_sales)
2. Time-Series Resampling with resample()
# Set datetime as index first
df = df.set_index("order_date")
# Resample to daily, weekly, monthly
daily = df.resample("D")["amount"].sum()
weekly = df.resample("W")["amount"].sum()
monthly = df.resample("M")["amount"].sum()
print("Monthly sales:
", monthly)
3. Rolling Time Windows
# 7-day rolling average
df["rolling_7d_avg"] = df["amount"].rolling("7D").mean()
# 30-day rolling sum
df["rolling_30d_sum"] = df["amount"].rolling("30D").sum()
4. Real-World Data Science Patterns
# Hourly pattern by day of week
hourly_pattern = df.groupby([df.index.day_name(), df.index.hour])["amount"].mean()
# Quarter-over-quarter growth
quarterly = df.resample("Q")["amount"].sum()
quarterly_growth = quarterly.pct_change()
5. Best Practices in 2026
- Always parse datetime columns early with
parse_datesorpd.to_datetime - Set the datetime column as index for
resample()and rolling operations - Use
.dtaccessor for flexible grouping by year, month, weekday, etc. - Combine
resample()andgroupby()for powerful multi-level summaries - Keep timezone-aware datetimes when working with global data
Conclusion
Summarizing datetime data in pandas is fast and flexible once you master .dt, resample(), rolling(), and groupby(). In 2026 data science projects, these tools let you turn raw timestamps into actionable insights — monthly trends, hourly patterns, rolling metrics, and time-based aggregations — with just a few lines of clean, high-performance code.
Next steps:
- Take one of your datasets and create monthly, weekly, and hourly summaries using
resample()andgroupby()