This is similar to the answer you linked, but it a little cleaner, and faster, because it uses the optimized aggregations, rather than lambdas.
Note that the resample(...).agg(...)
syntax requires pandas version 0.18.0
.
In [101]: df.resample('1H').agg({'openbid': 'first',
'highbid': 'max',
'lowbid': 'min',
'closebid': 'last'})
Out[101]:
lowbid highbid closebid openbid
ctime
2015-09-30 23:00:00 1.11687 1.11712 1.11708 1.117