Heim >Backend-Entwicklung >Python-Tutorial >Wie extrahiere ich Jahr und Monat effizient aus einer Pandas-Datetime-Spalte?

Wie extrahiere ich Jahr und Monat effizient aus einer Pandas-Datetime-Spalte?

DDD
DDDOriginal
2024-12-14 20:02:11215Durchsuche

How to Efficiently Extract Year and Month from a Pandas Datetime Column?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn