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)