w3resource

Resampling Time-Series in a Pandas DataFrame


Resample time-series data in a DataFrame.

Sample Solution:

Python Code:

import pandas as pd

# Create a sample DataFrame with time-series data
date_rng = pd.date_range(start='2012-01-01', end='2012-01-10', freq='D')
data = {'Value': [10, 15, 20, 25, 30, 35, 40, 45, 50, 55]}
df = pd.DataFrame(data, index=date_rng)

# Resample the DataFrame to a weekly frequency, calculating the mean
resampled_df = df.resample('W').mean()

# Display the original and resampled DataFrames
print("Original DataFrame:")
print(df)
print("\nResampled DataFrame:")
print(resampled_df)

Output:

Original DataFrame:
            Value
2012-01-01     10
2012-01-02     15
2012-01-03     20
2012-01-04     25
2012-01-05     30
2012-01-06     35
2012-01-07     40
2012-01-08     45
2012-01-09     50
2012-01-10     55

Resampled DataFrame:
            Value
2012-01-01   10.0
2012-01-08   30.0
2012-01-15   52.5

Explanation:

Here's a breakdown of the above code:

  • We create a sample DataFrame (df) with time-series data using the pd.date_range() function.
  • The DataFrame has a daily frequency with values in the 'Value' column.
  • The df.resample('W').mean() line resamples the DataFrame to a weekly frequency ('W') and calculates the mean of each weekly period.
  • The resulting "resampled_df" DataFrame contains the resampled data.

Flowchart:

Flowchart: Resampling Time-Series in a Pandas DataFrame.

Python Code Editor:

Previous: Extracting date and time from Pandas DateTime.
Next: Rolling Calculation in Pandas DataFrame.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.