Extrahieren von Monats- und Jahreswerten aus der Pandas Datetime-Spalte
Bei der Arbeit mit Zeitreihendaten in einem Pandas-Datenrahmen ist es oft notwendig, bestimmte Werte zu extrahieren Komponenten aus Datum/Uhrzeit-Werten für Analyse- oder Visualisierungszwecke. In diesem Fall wollen wir nur den Monat und das Jahr aus einer Spalte extrahieren, die pandas.tslib.Timestamp-Objekte enthält.
Es wurden mehrere Methoden versucht, diese Werte zu extrahieren. Die resample()-Methode mit der Häufigkeit „M“ schlägt fehl, da sie einen DatetimeIndex oder PeriodIndex erfordert. Der Lambda-Funktionsansatz schlägt fehl, da das Attribut getitem für Timestamp-Objekte fehlt.
Eine elegante Lösung besteht darin, den Index des Datenrahmens auf die Spalte ArrivalDate zu setzen. Dadurch werden die Datums-/Uhrzeitwerte in Indexbezeichnungen umgewandelt. Nachfolgende Resampling-Vorgänge können dann mithilfe des Index durchgeführt werden:
df.index = df['ArrivalDate']
Um jedoch separate Jahres- und Monatswerte in neue Spalten zu extrahieren, wird ein anderer Ansatz empfohlen:
df['year'] = pd.DatetimeIndex(df['ArrivalDate']).year df['month'] = pd.DatetimeIndex(df['ArrivalDate']).month
Alternativ kann der dt-Accessor für eine prägnante Syntax verwendet werden:
df['year'] = df['ArrivalDate'].dt.year df['month'] = df['ArrivalDate'].dt.month
Diese Operationen erstellen neue Spalten mit Namen „Jahr“ und „Monat“, die die extrahierten Werte enthalten. Dies ermöglicht eine flexible Nutzung dieser Komponenten zur weiteren Analyse und Manipulation.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich Jahr und Monat effizient aus einer Pandas-Datetime-Spalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!