sfactor sfactor - 10 months ago 53
Python Question

How do I round datetime column to nearest quarter hour

I have loaded a data file into a Python pandas dataframe. I has a datetime column of the format

2015-07-18 13:53:33.280

What I need to do is create a new column that rounds this out to its nearest quarter hour. So, the date above will be rounded to
2015-07-18 13:45:00.000

How do I do this in pandas? I tried using the solution from here, but get an
'Series' object has no attribute 'year'

Answer Source

Assuming that your series is made up of datetime objects, You need to use Series.apply . Example -

import datetime
df['<column>'] = df['<column>'].apply(lambda dt: datetime.datetime(dt.year, dt.month, dt.day, dt.hour,15*(dt.minute // 15)))