Ich bin sehr neu in Python und Codierung im Allgemeinen. Ich habe einige Daten in 1-Minuten-Intervallen, die möglicherweise einige Male fehlen. Ich möchte die fehlende Zeit und einen NaN-Wert für den entsprechenden Datenpunkt ausfüllen. Dies ist, was ich bis jetzt habe und es füllt NaN für alle Datenpunkte aus, anstatt nur die fehlenden.Fehlende Datenpunkte in Python
import pandas as pd
df = pd.read_csv("data3.csv", index_col="DateTime")
df = df.reindex(pd.date_range("11-1-2014 12:00:00", "11-1-2014 12:10:00", freq="1min"), fill_value="NaN")
df.to_csv("test3.csv")
File I
NSERC_CB04_A0401
DateTime
11/1/2014 0:00 1.121889
11/1/2014 0:01 1.121889
11/1/2014 0:02 1.121889
11/1/2014 0:03 1.121889
11/1/2014 0:04 1.118503
11/1/2014 0:05 1.121889
11/1/2014 0:06 1.121889
11/1/2014 0:07 1.121889
11/1/2014 0:09 1.121889
11/1/2014 0:10 1.121889
File I schreibe
NSERC_CB04_A0401
2014-11-01 12:00:00 NaN
2014-11-01 12:01:00 NaN
2014-11-01 12:02:00 NaN
2014-11-01 12:03:00 NaN
2014-11-01 12:04:00 NaN
2014-11-01 12:05:00 NaN
2014-11-01 12:06:00 NaN
2014-11-01 12:07:00 NaN
2014-11-01 12:08:00 NaN
2014-11-01 12:09:00 NaN
2014-11-01 12:10:00 NaN
lese, was ich will:
NSERC_CB04_A0401
DateTime
11/1/2014 0:00 1.121889
11/1/2014 0:01 1.121889
11/1/2014 0:02 1.121889
11/1/2014 0:03 1.121889
11/1/2014 0:04 1.118503
11/1/2014 0:05 1.121889
11/1/2014 0:06 1.121889
11/1/2014 0:07 1.121889
2014-11-01 12:08:00 NaN
11/1/2014 0:09 1.121889
11/1/2014 0:10 1.121889
Vielen Dank dass Arbeit s wenn ich nur die 2 Spalten habe. Wenn ich es für meinen Code mit 12 Spalten versuche, bekomme ich einen Fehler "ValueError: kann nicht von einer doppelten Achse neu indizieren" – acb
Bitte überprüfen Sie die bearbeitete Antwort. – jezrael
Vielen Dank nochmal sehr hilfreich. Eine letzte Frage: Wie würde ich np.nan verwenden, um in fehlenden Datenzeilen einen NaN-Wert anzugeben? Im Moment bekomme ich nur eine leere Reihe anstelle eines NaN. – acb