4 Stimmen

Konvertieren (Teil) ein Numpy recarray in ein 2d-Array?

Wir haben eine Reihe von Recarrays mit Daten für einzelne Tage - das erste Attribut ist ein Zeitstempel und der Rest sind Werte.

Mehrere davon:

    ts             a    b    c
2010-08-06 08:00, 1.2, 3.4, 5.6
2010-08-06 08:05, 1.2, 3.4, 5.6
2010-08-06 08:10, 1.2, 3.4, 5.6
2010-08-06 08:15, 2.2, 3.3, 5.6
2010-08-06 08:20, 1.2, 3.4, 5.6

Wir möchten ein Array mit den Durchschnittswerten der einzelnen Werte erstellen (als ob Sie alle Tagesdaten übereinander legen und den Durchschnitt aller Werte bilden würden, die übereinstimmen). Die Zeitstempel Zeiten alle übereinstimmen, so können wir es tun, indem Sie ein Ergebnis recarray mit den Zeitstempeln, und die anderen Spalten alle 0s, dann tun etwas wie:

for day in day_data:
    result.a += day.a
    result.b += day.b
    result.c += day.c

result.a /= len(day_data)
result.b /= len(day_data)
result.c /= len(day_data)

Es scheint, wie ein besserer Weg wäre zu konvertieren jeden Tag zu einem 2d-Array mit nur die Zahlen (Abschneiden der Zeitstempel), dann Durchschnitt sie alle elementweise in einem Vorgang, aber wir können nicht einen Weg finden, dies zu tun - es ist immer ein 1d-Array von Objekten.

Weiß jemand, wie man das macht?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X