Pandas - Gruppierung intra-day timeseries nach Datum
Habe ich ein intra-day-Serie von log-Renditen über mehrere Tage, würde ich mag, um eine Neuberechnung der täglichen ehts. Ich kann etwas tun, wie
hi = series.resample('B', how=lambda x: np.max(np.cumsum()))
low = series.resample('B', how=lambda x: np.min(np.cumsum()))
Aber es scheint ineffizient zu berechnen cumsum bei jedem Aufruf. Gibt es eine Möglichkeit, zuerst berechnen Sie die cumsums und dann gilt 'ohcl' auf die Daten?
1999-08-09 12:30:00-04:00 -0.000486
1999-08-09 12:31:00-04:00 -0.000606
1999-08-09 12:32:00-04:00 -0.000120
1999-08-09 12:33:00-04:00 -0.000037
1999-08-09 12:34:00-04:00 -0.000337
1999-08-09 12:35:00-04:00 0.000100
1999-08-09 12:36:00-04:00 0.000219
1999-08-09 12:37:00-04:00 0.000285
1999-08-09 12:38:00-04:00 -0.000981
1999-08-09 12:39:00-04:00 -0.000487
1999-08-09 12:40:00-04:00 0.000476
1999-08-09 12:41:00-04:00 0.000362
1999-08-09 12:42:00-04:00 -0.000038
1999-08-09 12:43:00-04:00 -0.000310
1999-08-09 12:44:00-04:00 -0.000337
...
1999-09-28 06:45:00-04:00 0.000000
1999-09-28 06:46:00-04:00 0.000000
1999-09-28 06:47:00-04:00 0.000000
1999-09-28 06:48:00-04:00 0.000102
1999-09-28 06:49:00-04:00 -0.000068
1999-09-28 06:50:00-04:00 0.000136
1999-09-28 06:51:00-04:00 0.000566
1999-09-28 06:52:00-04:00 0.000469
1999-09-28 06:53:00-04:00 0.000000
1999-09-28 06:54:00-04:00 0.000000
1999-09-28 06:55:00-04:00 0.000000
1999-09-28 06:56:00-04:00 0.000000
1999-09-28 06:57:00-04:00 0.000000
1999-09-28 06:58:00-04:00 0.000000
1999-09-28 06:59:00-04:00 0.000000
InformationsquelleAutor signalseeker | 2013-02-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, das könnte was ich will, aber ich habe mir zum testen.
BEARBEITEN:
Nach zelazny7 s response verwendet werden:
funktioniert und ist auch effizienter als meine Vorherige Lösung.
UPDATE:
Verwenden
pd.Zackenbarsch()
statt:TimeGrouper
trick von @Zelazny7 statt der[df.index.year ...]
, und Sie bekam eine schöne Lösung.In der version 0.10.1 ich bin immer ein
NotImplementedError
bei der Verwendung derohlc
Methode derDataFrameGroupBy
KlasseScheint zu funktionieren in 0.9.2.dev-61766ec als gut.
Ich überprüfte '0.10.1.dev-c934e02' und es funktioniert in dieser version auch.
InformationsquelleAutor signalseeker
War ich nicht in der Lage, Ihre resample Vorschlag zu arbeiten. Hast du damit Glück haben? Hier ist ein Weg, um die Aggregation der Daten auf dem business-day-Ebene und berechnen Sie die OHLC-Statistik in einem pass:
Hier Erzeuge ich ein dictionary von dictionaries. Die äußeren Schlüssel verweist auf die Spalten, die Sie wollen, um die Funktionen anwenden zu können. Der innere Schlüssel enthält den Namen der aggregation-Funktionen und die inneren Werte sind die Funktionen, die Sie anwenden möchten:
InformationsquelleAutor Zelazny7