I had done something similar and ran into the same problem.
So, what I did was that I grouped the time series using epoch and loaded it into a dictionary. 
From there I could work on the time series in hour chunks. (data source is json) Then you can convert it to a panda DataFrame and chart directly using matplotlib. Since your data is already in panda, you could skip the data pull and edit the initial loop to process your raw data. I hope this helps.
for key in responseJson['All'].keys():
        t = time.strftime('%Y,%m,%d %H:00:00', time.gmtime(float(key) / 1000.0))
        h = responseJson['All'][key]
        word = t
        epochkey = int(time.mktime(time.strptime(t, '%Y,%m,%d %H:00:00')))
        if word not in dict:
            dict[word] = h
            epochdict[epochkey] = h
        else:
            dict[word] += h
            epochdict[epochkey] += h
Then I converted it to a panda DataFrame:
for row in epochdict:
        if(row[0] not in data):
            data[row[0]]={}
        data[str(row[0])][str(row[2])]=round(row[3],3)
            df=DataFrame(data).T.fillna(0)