sfactor sfactor - 3 months ago 38
Python Question

Python Pandas: How to 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'
error.

Answer

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)))
Comments