Write a program in Python to resample a given time series data and find the maximum month-end frequency

Time series resampling in Pandas allows you to change the frequency of your data and apply aggregation functions. In this tutorial, we'll learn how to resample time series data to find the maximum month-end frequency using the resample() method.

Understanding the Problem

We have a time series dataset with weekly data points and want to group them by month, then find the maximum values for each month. The result will show month-end dates with the corresponding maximum values.

Step-by-Step Solution

Step 1: Create the DataFrame

First, we'll create a DataFrame with ID numbers and generate weekly time series data ?

import pandas as pd

# Create DataFrame with ID column
data = {'Id': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}
df = pd.DataFrame(data)

# Generate weekly time series starting from 01/01/2020
df['time_series'] = pd.date_range('01/01/2020', periods=10, freq='W')

print("DataFrame is:")
print(df)
DataFrame is:
   Id time_series
0   1  2020-01-05
1   2  2020-01-12
2   3  2020-01-19
3   4  2020-01-26
4   5  2020-02-02
5   6  2020-02-09
6   7  2020-02-16
7   8  2020-02-23
8   9  2020-03-01
9  10  2020-03-08

Step 2: Apply Monthly Resampling

Now we'll use the resample() method with 'M' frequency to group data by month and find maximum values ?

import pandas as pd

# Create DataFrame
data = {'Id': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}
df = pd.DataFrame(data)
df['time_series'] = pd.date_range('01/01/2020', periods=10, freq='W')

# Resample by month and find maximum values
monthly_max = df.resample('M', on='time_series').max()

print("Maximum month end frequency:")
print(monthly_max)
Maximum month end frequency:
            Id time_series
time_series                
2020-01-31   4  2020-01-26
2020-02-29   8  2020-02-23
2020-03-31  10  2020-03-08

How It Works

The resample('M', on='time_series') method works as follows:

  • 'M' − Groups data by month-end frequency
  • on='time_series' − Specifies which column to use for grouping
  • .max() − Applies maximum aggregation to each group

Key Parameters

Parameter Description Example
'M' Month end frequency Groups by calendar month end
on Column to resample on on='time_series'
.max() Aggregation function Returns maximum value per group

Conclusion

Pandas resample() method efficiently groups time series data by specified frequencies and applies aggregation functions. Use 'M' frequency with .max() to find maximum values at month-end intervals.

Updated on: 2026-03-25T16:21:13+05:30

252 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements