Ich habe ein Daframe mit einer Reihe von Zeitraum 1 Monat und Frequenz eine Sekunde.fullfil ein leerer Datenrahmen mit gemeinsamen Index-Werte von einem anderen Daframe
Das Problem der Zeitschritt zwischen den Datensätzen ist nicht immer 1 Sekunde.
time c1 c2
2013-01-01 00:00:01 5 3
2013-01-01 00:00:03 7 2
2013-01-01 00:00:04 1 5
2013-01-01 00:00:05 4 3
2013-01-01 00:00:06 5 6
2013-01-01 00:00:09 4 2
2013-01-01 00:00:10 7 8
Dann möchte ich einen leeren Datenrahmen mit den gleichen Spalten erstellen und für den gesamten Zeitraum korrigiert. Das bedeutet mit so vielen Aufzeichnungen wie Sekunden einen Monat hat. Dieser leere Datenrahmen ist im Prinzip mit nan Werten erfüllt:
time c1 c2
2013-01-01 00:00:01 nan nan
2013-01-01 00:00:02 nan nan
2013-01-01 00:00:03 nan nan
2013-01-01 00:00:04 nan nan
2013-01-01 00:00:05 nan nan
2013-01-01 00:00:06 nan nan
2013-01-01 00:00:07 nan nan
2013-01-01 00:00:08 nan nan
2013-01-01 00:00:09 nan nan
2013-01-01 00:00:10 nan nan
beide Dann vergleichen und erfüllen die leeren, mit den gemeinsamen Reihen mit meinem ersten Datenrahmen. Das Nicht-Common sollte mit Nan-Werten bleiben.
time c1 c2
2013-01-01 00:00:01 5 3
2013-01-01 00:00:02 nan nan
2013-01-01 00:00:03 7 2
2013-01-01 00:00:04 1 5
2013-01-01 00:00:05 4 3
2013-01-01 00:00:06 5 6
2013-01-01 00:00:07 nan nan
2013-01-01 00:00:08 nan nan
2013-01-01 00:00:09 4 2
2013-01-01 00:00:10 7 8
Mein Versuch:
#Read from a file the first dataframe
df1=pd.read_table(fin,parse_dates=0],names=ch,index_col=0,header=0,decimal='.',skiprows=c)
#create an empty dataframe
N=86400 * 31#seconds per month
index=pd.date_range(df1.index[0], periods=N-1, freq='1s')
df2=pd.DataFrame(index=index, columns=df1.columns)
Jetzt versuche ich mit merge oder concat aber ohne das erwartete Ergebnis:
df2.merge(df1, how='outer')
pd.concat([df2,df1], axis=0, join='outer')
Funktioniert nicht *** Valueerror:. Nicht von einer doppelten Achse – gis20
@ gis20 sehen meine Änderungen indizieren kann. Ich kann dir nicht mehr helfen als das ohne ein reproduzierbares Beispiel, das dein Problem zeigt. –