 <p>Anand S Kumar's answer doesn't round to the nearest quarter hour, it cuts off the minutes to the nearest 15 minutes below it. </p> <p>Actually, in your example <code>2015-07-18 13:53:33.280</code> should round to <code>2015-07-18 14:00:00.000</code> since <code>53:33.280</code> is closer to 60 minutes than 45 minutes.</p> <p>I found an more robust answer for rounding in <a href="http://stackoverflow.com/questions/3463930/how-to-round-the-minute-of-a-datetime-object-python">this post</a>.</p> <p>For your situation this should work:</p> <pre><code>import datetime def round_time(time, round_to): """roundTo is the number of minutes to round to""" rounded = time + datetime.timedelta(minutes=round_to/2.) rounded -= datetime.timedelta(minutes=rounded.minute % round_to, seconds=rounded.second, microseconds=rounded.microsecond) return rounded dt['dtcolumn'] = df['dtcolumn'].apply(lambda x: round_time(x)) </code></pre>