In this guide, I'll show you how to calculate days elapsed since a certain date in Pandas. Calculating the number of days elapsed since a certain date is a common task in data analysis.

(1) Calculate days elapsed since today

df['days_elapsed'] = (pd.to_datetime('today') - pd.to_datetime(df['date_column'])).dt.days

(2) Using Specific date

reference_date = pd.to_datetime('2023-12-31')
df['days_since_fixed'] = (reference_date - df['date_column']).dt.days

1. Sample Data

Let's start with a sample dataset:

import pandas as pd

data = {'date_column': ['2023-01-01', '2022-06-15', '2024-02-01']}
df = pd.DataFrame(data)

df['date_column'] = pd.to_datetime(df['date_column'])

This will produce a DataFrame like:

date_column
0 2023-01-01
1 2022-06-15
2 2024-02-01

2. Calculating Days Elapsed - Today

To calculate the number of days elapsed since a given date, we subtract the date column from today’s date:

df['days_elapsed'] = (pd.to_datetime('today') - df['date_column']).dt.days

Example Output

date_column days_elapsed
0 2023-01-01 405
1 2022-06-15 605
2 2024-02-01 9

3. Handling Missing Values

If the column contains missing values (NaT), Pandas will return NaN. You can replace missing values with a default number:

df['days_elapsed'] = df['days_elapsed'].fillna(0)

4. Using a Fixed Date

If you need to calculate the days elapsed from a fixed reference date instead of today, specify the reference date:

reference_date = pd.to_datetime('2023-12-31')
df['days_since_fixed'] = (reference_date - df['date_column']).dt.days

Example Output

date_column days_since_fixed
0 2023-01-01 364
1 2022-06-15 564
2 2024-02-01 -32

5. Conclusion

Using Pandas, you can quickly compute the number of days that have passed since a certain date or until a future date. These calculations are useful for time-based analytics, forecasting, and tracking events.

Resources