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.