2016-11-15 14 views
1

Ich habe einen Pandas-Datenframe mit einer Datetime-Spalte. Ich bin Gruppierung nach Tag und dann Stunde mit dem folgenden:Umbenennen von Pandas-Spalten nach Gruppierung nach Tag und Stunde

df.groupby([df['date'].map(lambda t: t.day), df['date'].map(lambda t: t.hour)]).count() 

Leider lässt dies mich mit einem doppelten Index, beide als Datum. Der erste Termin ist der Tag des Monats, der zweite Tag der Stunde ist, Bytes ist die Anzahl der Elemente in dieser Stunde:

enter image description here

Ich versuche, diese Datumsspalten zu verwenden, aber nicht kann. Ich habe versucht, den Index Reseting, aber diesen Fehler erhalten:

ValueError: cannot insert date, already exists 

Ich kann auch nicht die Spalten umbenennen, weil „Datum“ nicht in der Liste Spalten angezeigt:

grouped_df.columns 
>> Index([u'bytes'], dtype='object') 

Letztendlich Ich versuche eine Anzahl von Gegenständen in jeder Stunde eines jeden Tages zu finden. Wie kann ich die doppelten Datumsspalten umbenennen? Sollte ich den Datenrahmen mit einer anderen Methode gruppieren, um dieses Dilemma zu vermeiden?

Antwort

3

ich did't Test aber so etwas wie dies funktionieren soll:

df.groupby([df['date'].rename("day").map(lambda t: t.day), df['date'].rename("hour").map(lambda t: t.hour)]).count() 
+0

Arbeiten wie ein Charme. Vielen Dank! – marie

Verwandte Themen