Oft möchten Sie möglicherweise eine oder mehrere Spalten in einem Pandas DataFrame in ein DateTime-Format konvertieren. Glücklicherweise ist dies mit der Funktion to_datetime() einfach zu bewerkstelligen.

Dieses Tutorial zeigt einige Beispiele für die Verwendung dieser Funktion auf dem folgenden DataFrame:

import numpy as np
import pandas as pd

#D ataframe erstellen
df = pd.DataFrame({'event': ['A', 'B', 'C'],
                   'start_date': ['20150601', '20160201', '20170401'],
                   'end_date': ['20150608', '20160209', '20170416'] })

# Dataframe anzeigen
df

        event   start_date  end_date
0   A   20150601    20150608
1   B   20160201    20160209
2   C   20170401    201704161

# Spaltendatentypen anzeigen
df.dtypes

event         object
start_date    object
end_date      object
dtype: object

Beispiel 1: Konvertieren einer einzelnen Spalte in DateTime

Der folgende Code zeigt, wie die Spalte "start_date" von einer Zeichenfolge in ein DateTime-Format konvertiert wird:

# start_date in das DateTime-Format konvertieren
df['start_date'] = pd.to_datetime(df['start_date'])

#Dataframe anzeigen
df

event   start_date  end_date
0   A   2015-06-01  20150608
1   B   2016-02-01  20160209
2   C   2017-04-01  20170416

# Spaltendatentypen anzeigen
df.dtypes

event                 object
start_date    datetime64[ns]
end_date              object
dtype: object

Beachten Sie, dass die to_datetime() Funktion schlau ist und das korrekte Datumsformat normalerweise automatisch entnehmen kann, aber Sie können das Format auch mit dem format Argument angeben:

# start_date in das DateTime-Format konvertieren
df['start_date'] = pd.to_datetime(df['start_date'], format='%Y%m%d')

# Dataframe anzeigen
df

        event   start_date  end_date
0   A   2015-06-01  20150608
1   B   2016-02-01  20160209
2   C   2017-04-01  20170416

# Spaltendatentypen anzeigen
df.dtypes

event                 object
start_date    datetime64[ns]
end_date              object
dtype: object

Beispiel 2: Konvertieren Sie mehrere Spalten in DateTime

Der folgende Code zeigt, wie die Spalten "start_date" und "end_date" von Zeichenfolgen in DateTime-Formate konvertiert werden:

# start_date und end_date in DateTime-Formate konvertieren
df[['start_date', 'end_date']] = df[['start_date', 'end_date']].apply(pd.to_datetime)

# Dataframe anzeigen
df

    event   start_date  end_date
0   A   2015-06-01  2015-06-08
1   B   2016-02-01  2016-02-09
2   C   2017-04-01  2017-04-16

# Spaltendatentypen anzeigen
df.dtypes

event                 object
start_date    datetime64[ns]
end_date      datetime64[ns]
dtype: object

Beispiel 3: Konvertieren von Spalten in das DateTime-Format mit Sekunden

In einigen Fällen können Sie auch Spalten haben, die ein Datum zusammen mit den Stunden, Minuten und Sekunden enthalten, z. B. das folgenden DataFrame:

# Dataframe erstellen
df = pd.DataFrame({'event': ['A', 'B', 'C'],
                   'start_date': ['20150601043000', '20160201054500', '20170401021215'],
                   'end_date': ['20150608', '20160209', '20170416'] })

# Dataframe anzeigen
df

        event   start_date  end_date
0   A   20150601043000  20150608
1   B   20160201054500  20160209
2   C   20170401021215  20170416

Auch hier ist die Funktion to_datetime() intelligent und kann normalerweise auf das richtige Format schließen, ohne dass wir es angeben:

# start_date in das DateTime-Format konvertieren
df['start_date'] = pd.to_datetime(df['start_date'])

# Dataframe anzeigen
df

        event   start_date          end_date
0   A   2015-06-01 04:30:00 20150608
1   B   2016-02-01 05:45:00 20160209
2   C   2017-04-01 02:12:15 20170416

# Spaltendatentypen anzeigen
df.dtypes

event                 object
start_date    datetime64[ns]
end_date              object
dtype: object

Natürlich treffen Sie in der freien Wildbahn wahrscheinlich über eine Vielzahl an seltsamen Datetime-Formaten, so dass Sie tatsächlich das format Argument verwenden müssen, um zu definieren, welches Datetime-Format genau verwendet werden soll.

In diesen Fällen finden Sie auf dieser Seite eine vollständige Liste der% DateTime-Operatoren, mit denen Sie Formate angeben können.

Zusätzliche Ressourcen

So konvertieren Sie Datetime zu Datum in Pandas

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: