Ich habe die 2 folgenden Datenrahmen:
df1:Python Pandas concatening 2 Zeitreihen Datenrahmen
datetime actual forecast previous
0 2015-01-09 13:30:00 -0.2 0.2 0.2
1 2015-02-06 13:30:00 0.5 0.3 -0.2
2 2015-03-06 13:30:00 0.1 0.2 0.5
3 2015-04-03 12:30:00 0.3 0.2 0.1
4 2015-05-08 12:30:00 0.1 0.2 0.2
und DF2:
datetime Actual Surv(M) Prior
0 2015-01-09 08:30 -0.2% 0.2% 0.4%
1 2015-02-06 08:30 0.5% 0.3% -0.2%
2 2015-03-06 08:30 0.1% 0.2% 0.5%
3 2015-04-03 08:30 0.3% 0.2% 0.1%
4 2015-05-08 08:30 0.1% 0.2% 0.3%
Ich versuche, sie zu verketten, so dass sie in einem Datenrahmen erscheinen geordnet nach ihrem Zeitstempel.
Um dies zu tun ich tue:
df1.set_index('datetime', drop=False, inplace=True)
df2.set_index('datetime', drop=False, inplace=True)
pd.concat([df1, df2], axis=1)
Aber das ist das Ergebnis: von DF2 kommenden
datetime actual forecast previous datetime Actual Surv(M) Prior
datetime
2015-01-09 08:30:00 NaT NaN NaN NaN NaN NaN NaN NaN
2015-01-09 13:30:00 2015-01-09 13:30:00 -0.2 0.2 0.2 NaN NaN NaN NaN
2015-02-06 08:30:00 NaT NaN NaN NaN NaN NaN NaN NaN
2015-02-06 13:30:00 2015-02-06 13:30:00 0.5 0.3 -0.2 NaN NaN NaN NaN
2015-03-06 08:30:00 NaT NaN NaN NaN NaN NaN NaN NaN
2015-03-06 13:30:00 2015-03-06 13:30:00 0.1 0.2 0.5 NaN NaN NaN NaN
2015-04-03 08:30:00 NaT NaN NaN NaN NaN NaN NaN NaN
2015-04-03 12:30:00 2015-04-03 12:30:00 0.3 0.2 0.1 NaN NaN NaN NaN
2015-05-08 08:30:00 NaT NaN NaN NaN NaN NaN NaN NaN
2015-05-08 12:30:00 2015-05-08 12:30:00 0.1 0.2 0.2 NaN NaN NaN NaN
Die Daten fehlen. Es scheint, dass die Zeilen dafür korrekt zugeordnet sind, indem der Rhythmus in den Daten von df1 berücksichtigt wird, aber es erscheint nicht.
Irgendwelche Vorschläge, um df2-Daten korrekt zu haben?
Edit: das gewünschte Ergebnis:
datetime actual forecast previous datetime Actual Surv(M) Prior
datetime
2015-01-09 08:30:00 NaT NaN NaN NaN 2015-01-09 08:30 -0.2% 0.2% 0.4%
2015-01-09 13:30:00 2015-01-09 13:30:00 -0.2 0.2 0.2 NaN NaN NaN NaN
2015-02-06 08:30:00 NaT NaN NaN NaN 2015-02-06 08:30 0.5% 0.3% -0.2%
2015-02-06 13:30:00 2015-02-06 13:30:00 0.5 0.3 -0.2 NaN NaN NaN NaN
2015-03-06 08:30:00 NaT NaN NaN NaN 2015-03-06 08:30 0.1% 0.2% 0.5%
2015-03-06 13:30:00 2015-03-06 13:30:00 0.1 0.2 0.5 NaN NaN NaN NaN
2015-04-03 08:30:00 NaT NaN NaN NaN 2015-04-03 08:30 0.3% 0.2% 0.1%
2015-04-03 12:30:00 2015-04-03 12:30:00 0.3 0.2 0.1 NaN NaN NaN NaN
2015-05-08 08:30:00 NaT NaN NaN NaN 2015-05-08 08:30 0.1% 0.2% 0.3%
2015-05-08 12:30:00 2015-05-08 12:30:00 0.1 0.2 0.2 NaN NaN NaN NaN
Es ist wirklich sehr schwierig, diese Tabelle hier zu formatieren ... aber im Grunde hier oben würde die gewünschte Ausgabe sein.
Können Sie Ihren gewünschten DF/Datensatz einstellen? – MaxU
sollte 'pandas.merge' oder' df.join' verwenden – reptilicus