Ich versuche, einen unstacked, Mehr indiziert Daten-Frame zurück zu einem einzelnen Pandas Datetime-Index zu konvertieren.Convert Pandas Multi-Index Pandas Zeitstempel
Der Index meiner ursprünglichen Daten-Frame, also vor dem Multi-Indizierung und Entstapeln, sieht wie folgt aus:
In [1]: df1_season.index
Out [1]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2013-05-01 02:00:00, ..., 2014-07-31 23:00:00]
Length: 1472, Freq: None, Timezone: None
dann wende ich die Multi-Indizierung und Entstapeln, damit ich die Jahresdaten plotten können auf der jeweils anderen wie folgt aus:
df_sort = df1_season.groupby(lambda x: (x.year, x.month, x.day, x.hour)).agg(lambda s: s[-1])
df_sort.index = pd.MultiIndex.from_tuples(df_sort.index, names=['Y','M','D','H'])
unstacked = df_sort.unstack('Y')
Meine neuen Datenrahmen für die ersten beiden Tagen des Monats Mai wie folgt aussieht:
In [2]: unstacked
Out [2]:
temp season
Y 2013 2014 2013 2014
M D H
5 1 2 24.2 22.3 Summer Summer
8 24.1 22.3 Summer Summer
14 24.3 23.2 Summer Summer
20 24.6 23.2 Summer Summer
2 2 24.2 22.5 Summer Summer
8 24.8 22.2 Summer Summer
14 24.9 22.4 Summer Summer
20 24.9 22.8 Summer Summer
736 rows × 4 columns
Der Index für das neuen Datenrahmen oben nun gezeigt, sieht wie folgt aus:
In [2]: unstacked.index.values[0:8]
Out [2]:
array([(5, 1, 2), (5, 1, 8), (5, 1, 14), (5, 1, 20), (5, 2, 2), (5, 2, 8), (5, 2, 14),
(5, 2, 20], dtype=object)
das nicht ein sehr schönes Grundstück in Bezug auf die xticks (Haupt- und Neben) erzeugt. Wenn ich diesen Multi-Index wieder in einen einzigen Pandas-Datetime-Index konvertieren kann, indem ich nur die Daten für Monat, Tag und Stunde verwende, werden die großen/kleinen Ticks automatisch so gezeichnet, wie ich es möchte (denke ich). Zum Beispiel:
aktuelle Lösung:
xticks = (5, 1, 2), (5, 1, 8) … (5, 2, 20)
erforderlich Lösung:
xticks(major) = Day, Month (displayed as MAY 01, MAY 02 etc etc)
xticks(minor) = Hour (displayed as 02h 08h … 20h)
Sogar ein kleiner Hinweis würde sehr geschätzt werden. – roi3i3ie
Wie gehe ich vor, um diese Unterstützung zu erhalten? Es gibt einige Fragen über ein Jahr alt ohne Antworten. – roi3i3ie
Noch ein Monat? Alles wird helfen ... – roi3i3ie