Original Source Here

## 3.2 Percentage changes

Another common metric that can be derived from time-series data is day-to-day percentage change:

To calculate day-to-day percentage change, shift one period forward and divide the original distribution by the shifted one and subtract 1. The resulting values are given as proportions of what they were the day before.

Since it is a common operation, Pandas implements it with the `pct_change`

function:

## 4. Resampling

Often, you may want to increase or decrease the granularity of time series to generate new insights. These operations are called resampling or changing the frequency of time series, and we will discuss the Pandas functions related to them in this section.

## 4.1 Changing the frequency with `asfreq`

The second dataset does not have a fixed date frequency, i.e., the period difference between each date is not the same:

`data2.head()`

Let’s fix this by giving it a calendar day frequency (daily):

`data2.asfreq("D").head(7)`

We just made the frequency of the date more granular. As a result, new dates were added, leading to more missing values. You can now interpolate them using any of the techniques we discussed earlier.

You can see the list of built-in frequency aliases from here. A more interesting scenario would be using custom frequencies:

`# 10 month frequency`

data2.asfreq("10M", method="bfill").head(7)

There is also a `reindex`

function that operates similarly and supports additional missing value filling logic. We won’t discuss it here as there are better options we will consider.

AI/ML

Trending AI/ML Article Identified & Digested via Granola by Ramsey Elbasheer; a Machine-Driven RSS Bot