I would use the groupby function for different timescales (min, hour, day, week, month, year, etc.) and use apply to average over the data. Or use max, or min, depending on what you want to see.
The timescales could be fed from the viz using a javascript control like a dropdown box.
You could also use the resample function on your groupby object.