Zeitsequenz Dataframes zusammenführen (jedoch mit Lücken!)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Bayne
User
Beiträge: 40
Registriert: Freitag 31. Mai 2019, 16:28

Hey, habe 3 Dataframes mit ca 99% der gleichen Zeitserie. kommt alles aus je einem CSV wobei alles in der ersten Spalte durch komma seperiert vorliegt.
Damit ihr wisst was ich meine:

1998.12.31 00:00:00,1.167,1.175,1.1632,1.1724,18.3,1.1711,1.174020000000001 ...
1999.01.04 23:00:00,1.1835,1.1836,1.1811,1.1815,6.300000000000001,1.18254,1.181240000000002, ...
1999.01.05 00:00:00,1.1815,1.1824,1.181,1.1818,4.600000000000001,1.18238,1.181570000000002, ...
1999.01.05 01:00:00,1.182,1.1827,1.1807,1.181,13.0,1.1823,1.181730000000002, ...
1999.01.05 02:00:00,1.1808,1.1835,1.1805,1.1822,11.8,1.18206,1.181750000000001, ...
1999.01.05 03:00:00,1.1821,1.1822,1.1808,1.1808,5.0,1.18192,1.182030000000001, ...
1999.01.05 04:00:00,1.1811,1.1815,1.1799,1.1803,3.3,1.18146,1.182000000000001, ...
1999.01.05 05:00:00,1.1804,1.1811,1.1803,1.1811,1.0,1.18122,1.181800000000002, ...
1999.01.05 07:00:00,1.1806,1.1825,1.1795,1.1816,30.1,1.18108,1.181690000000001, ...
1999.01.05 08:00:00,1.1821,1.1833,1.1811,1.182,30.8,1.1812,1.181630000000002, ...
1999.01.05 09:00:00,1.1819,1.1832,1.181,1.1822,36.5,1.18116,1.181540000000002, ...
1999.01.05 10:00:00,1.1814,1.1826,1.181,1.1823,30.9,1.18144,1.181450000000002, ...
1999.01.05 11:00:00,1.1821,1.1823,1.1808,1.182,33.7,1.18184,1.181530000000002, ...
...
Es geht um Kursdaten. (EUR-USD, GBP-USD, EUR-GBP Wechselkurse). Das problem ist jedoch, dass es zu Datumlücken kommt aufgrund der unterschiedlichen Nationen in denen die jeweiligen Börsen liegen. Feiertage die nicht überall vorliegen sind gemeint, wie der 4. July in den USA der in Europa oder Großbritanien nicht gefeiert wird.

somit können verzögerungen nicht nur in den Tages sondern auch stunden vorliegen, da wir ja auch unterschiedliche Zeitzonen haben
(btw die daten oben sind auch in GMT+ irgendwas). Die Zeit würde als Index genutzt.

Nun frage ich euch:
  • 1) gibt es eine möglichkeit die daten an den übereinstimmenden Zeiten in Pandas zusammenzufügen?
  • 2) der erste Dataframe EUR-USD soll dabei keine Daten verlieren... habt ihr eine idee wie ich dann mit Lücken seitens der anderen DF's umgehen kann um trotzdem noch ein sinnvolles gesamt-Dataframe für Machine Learning Zwecke zu haben?

Hinweis:
EURUSD hat 126.698 Zeilen
GBPUSD hat 126613 Zeilen
EURGBP hat 126541 Zeilen
Benutzeravatar
__blackjack__
User
Beiträge: 14047
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Bayne: Die Zeitzonen müsste man wissen, und dann erst einmal alle Zeitstempel in *eine* Zeitzone überführen. Sonst kann man die ja schlecht über den Zeitstempel zusammenführen.

Und dann kann man die DataFrames natürlich über die Zeitstempel zusammenführen. Welche Möglichkeiten es da gibt steht in der Pandas-Dokumentation. Zum Beispiel im Benutzerhandbuch im Abschnitt „Merge, join, and concatenate“.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Bayne
User
Beiträge: 40
Registriert: Freitag 31. Mai 2019, 16:28

__blackjack__ hat geschrieben: Donnerstag 1. August 2019, 13:30 @Bayne: Die Zeitzonen müsste man wissen, und dann erst einmal alle Zeitstempel in *eine* Zeitzone überführen. Sonst kann man die ja schlecht über den Zeitstempel zusammenführen.

Und dann kann man die DataFrames natürlich über die Zeitstempel zusammenführen. Welche Möglichkeiten es da gibt steht in der Pandas-Dokumentation. Zum Beispiel im Benutzerhandbuch im Abschnitt „Merge, join, and concatenate“.
Alle Dataframes sind in der gleichen Zeitzone (kommen nämlich alle vom gleichen daher Broker UTC+3 im Sommer und UTC+2 im Winter)

beim zusammenführen wird also automatisch der index beachtet? liegen dann die Einträge welche nur in einem DF vorhanden sind in den darauffolgenden zeilen als 0/nan values vor?
Benutzeravatar
__blackjack__
User
Beiträge: 14047
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Bayne: Das kommt drauf an *wie* man die zusammenführt. Wie gesagt, es gibt da Dokumentation zu.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten