How to resample a DataFrame with Pandas using Python

1 min

When you'll start dealing with time-series data, the resample method will come in handy.

This method allows you to reduce or increase the interval size between observations.

Let me illustrate

Here we can see that we want to transform daily observation to a monthly observation.

The resample method will take daily observation, month by month.

By further applying a mean() method, you take the monthly average of those daily observations.

Here is a figure that depicts exactly that.

We resample daily observation to monthly average using resample("M").mean() 

The code

# We import the libraries
import numpy as np
import pandas as pd

# We generate the dates
dates = pd.date_range(start="01-01-1980", 
                      end="01-01-2021", 
                      freq="D")

# we generate random observation
x = np.random.normal(0, 1, len(dates))

# We create a sample dataframe
df = pd.DataFrame(index=dates,
                  data={"col1": x})

# We print out the initial DataFrame
print(df)

# We resmaple our dataframe
df = df.resample("M").mean()

# We print the transformed dataframe
print(df)

Here you are! You now know how to resample a DataFrame with Pandas using Python.

More on DataFrames

If you want to know more about DataFrame and Pandas. Check out the other articles I wrote on the topic, just here :

Pandas - The Python You Need
We gathered the only Python essentials that you will probably ever need.