eine Datei wie folgt gegeben:Crosstab Datenrahmen mit gesampleten Datumzeit von Tabellendatei
date uselessinfo category uselessinfo2
2011-07-22 02:56:36 banana 1 apple
2011-02-27 17:15:44 banana 4 apple
2010-12-12 00:13:42 banana 1 apple
2010-10-12 00:13:00 banana 2 apple
I Pandas bin mit einem Datenrahmen bauen:
data = pd.read_table(pathToFile, "\t")
Von diesem Ich versuche einfach Pandas Methoden zu verwenden, Erstellen Sie eine Kreuztabellenmatrix wie zum Beispiel:
Wo Spalten Kategorien sind, Zeilen sind Daten Bins und Werte sind t Das Auftreten von Kategorien in diesen Bins
Mein Problem ist, dass ich nicht weiß, wie die Datumsangaben entweder nach Jahren oder Monat bin und dann die Kreuztabellenmatrix erstellen. Ich habe auf Stackoverflow gesehen, dass die Resampling-Funktion der beste Weg, um ist Datetimes und Kreuztabellen- ist, um dann die Matrix zu bauen:
data = data.resample('M', on='date').sum()
data = pd.crosstab(data.date,data.category)
Gibt es eine Möglichkeit, diese beiden Funktionen zu kombinieren, um die gewünschte Matrix zu bekommen? Oder mache ich total falsch?
Ziel zu erreichen, ist diese Matrix zu verwenden, eine Seaborn Heatmap wie die Suche zu zeichnen:
funktionierte wirklich gut und einfach zu stimmen! Ich frage mich nur über die Resampling-Linie (die ich für jetzt kommentiert). Warum ändern sich die Kategorien, während wir angeben, dass wir nach "Daten" resampeln möchten? – Vanpourix
Hmmm, wenn Sie nach Monaten neu berechnen und Daten benötigen, werden alle Daten in das letzte Datum des Monats konvertiert. Es ist von Design in Pandas. Vielleicht kann auch [Docs] (http://pandas.pydata.org/pandas-docs/stable/timeseries.html#resampling) – jezrael
Und Ategories geändert werden, weil es nach Monaten gruppiert und aggregiert nach Summe - also Kategorien sind Zahlen und sind summiert. – jezrael