Wie kann ein Zeitreihen-Datenframe in Pandas richtig gelenkt oder neu gestaltet werden?

Ich muss einen Datenrahmen umformen, der wie df1 aussieht, und ihn in df2 verwandeln. Für dieses Verfahren gibt es zwei Überlegungen:

Ich muss in der Lage sein, die Anzahl der zu schneidenden Zeilen als Parameter (Länge) festzulegen. Ich muss Datum und Uhrzeit vom Index trennen und das Datum in der Umformung als Spaltennamen verwenden und die Uhrzeit als Index beibehalten.

Current df1

2007-08-07 18:00:00    1
2007-08-08 00:00:00    2
2007-08-08 06:00:00    3
2007-08-08 12:00:00    4
2007-08-08 18:00:00    5
2007-11-02 18:00:00    6
2007-11-03 00:00:00    7
2007-11-03 06:00:00    8
2007-11-03 12:00:00    9
2007-11-03 18:00:00   10

Desired Output df2 - Mit dem Parameter 'length = 5'

          2007-08-07  2007-11-02
18:00:00      1           6
00:00:00      2           7
06:00:00      3           8
12:00:00      4           9
18:00:00      5          10

Was habe ich gemacht

ein Ansatz bestand darin, einen Multi-Index (Datum - Uhrzeit) zu erstellen und dann eine Pivot-Tabelle oder eine Art Umformung durchzuführen, um die gewünschte df-Ausgabe zu erziele

import pandas as pd 
'''
First separate time and date
'''
df['TimeStamp'] = df.index
df['date'] = df.index.date
df['time'] = df.index.time
'''
Then create a way to separate the slices and make those specific dates available for then create   
a multi-index.
'''
for index, row in df.iterrows():
    df['Num'] = np.arange(len(df))

for index, row in df.iterrows():
    if row['Num'] % 5 == 0:
        df.loc[index, 'EventDate'] = df.loc[index, 'Date']

df.set_index(['EventDate', 'Hour'], inplace=True)
del df['Date']
del df['Num']
del df['TimeStamp']

Problem: Neben jedem Datum der ersten Ebene des Multiindex wird eine NaN angezeigt. Und selbst wenn das gut funktioniert hat, kann ich mit einem Multiindex-df nicht herausfinden, was ich brauche.

Ich stecke fest. Ich freue mich über jede Eingabe.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage