Getting min and max Dates from a pandas dataframe

PythonDatetimePandas

Python Problem Overview


How do I get the min and max Dates from a dataframe's major axis?

           value
Date                                           
2014-03-13  10000.000 
2014-03-21   2000.000 
2014-03-27   2000.000 
2014-03-17    200.000 
2014-03-17      5.000 
2014-03-17     70.000 
2014-03-21    200.000 
2014-03-27      5.000 
2014-03-27     25.000 
2014-03-31      0.020 
2014-03-31     12.000 
2014-03-31      0.022

Essentially I want a way to get the min and max dates, i.e. 2014-03-13 and 2014-03-31. I tried using numpy.min or df.min(axis=0), I'm able to get the min or max value but that's not what I want

Python Solutions


Solution 1 - Python

'Date' is your index so you want to do,

print (df.index.min())
print (df.index.max())

2014-03-13 00:00:00
2014-03-31 00:00:00

Solution 2 - Python

min(df['some_property'])
max(df['some_property'])

The built-in functions work well with Pandas Dataframes.

Solution 3 - Python

Use agg to determine the minimum and maximum value in one line:

df['Date'].agg(['min', 'max']) 

If your desired column is in the index, you have to reset the index first:

df.reset_index()['Date'].agg(['min', 'max'])

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionpyCthonView Question on Stackoverflow
Solution 1 - PythonKarl D.View Answer on Stackoverflow
Solution 2 - PythonJ.WeedView Answer on Stackoverflow
Solution 3 - PythonrachwaView Answer on Stackoverflow