So konvertieren sie spalten in pandas in datetime


Oft sind Sie möglicherweise daran interessiert, eine oder mehrere Spalten eines Pandas-DataFrames in das DateTime-Format zu konvertieren. Glücklicherweise ist dies mit der Funktion to_datetime() einfach zu bewerkstelligen.

Dieses Tutorial zeigt mehrere Beispiele für die Verwendung dieser Funktion im folgenden DataFrame:

 import numpy as np
import pandas as pd

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

#view DataFrame
df

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

#view column data types
df. dtypes

event object
start_date object
end_date object
dtype:object

Beispiel 1: Konvertieren Sie eine einzelne Spalte in DateTime

Der folgende Code zeigt, wie die Spalte „start_date“ von einer Zeichenfolge in das DateTime-Format konvertiert wird:

 #convert start_date to DateTime format
df['start_date'] = pd. to_datetime (df['start_date'])

#view DataFrame
df

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

#view column date types
df. dtypes

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

Beachten Sie, dass die Funktion to_datetime() intelligent ist und normalerweise das richtige zu verwendende Datumsformat ableiten kann. Sie können jedoch auch mit dem Formatargument angeben, welches Format verwendet werden soll:

 #convert start_date to DateTime format
df['start_date'] = pd. to_datetime (df['start_date'], format=' %Y%m%d ')

#view DataFrame
df

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

#view column date types
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:

 #convert start_date and end_date to DateTime formats
df[['start_date', 'end_date']] = df[['start_date', 'end_date']]. apply (pd. to_datetime )

#view DataFrame
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

#view column date types
df. dtypes

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

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

In einigen Fällen verfügen Sie möglicherweise auch über Spalten, die ein Datum sowie Stunden, Minuten und Sekunden enthalten, z. B. den folgenden DataFrame:

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

#view DataFrame
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 das richtige zu verwendende Format ableiten, ohne dass wir es angeben müssen:

 #convert start_date to DateTime format
df['start_date'] = pd. to_datetime (df['start_date'])

#view DataFrame
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

#view column date types
df. dtypes

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

Natürlich werden Sie in freier Wildbahn wahrscheinlich auf eine Vielzahl seltsamer DateTime-Formate stoßen, daher müssen Sie möglicherweise das Argument format verwenden, um Python genau mitzuteilen, welches DateTime-Format verwendet werden soll.

In diesen Fällen finden Sie auf dieser Seite eine vollständige Liste der %DateTime-Operatoren, die Sie zum Angeben von Formaten verwenden können.

Zusätzliche Ressourcen

So konvertieren Sie DateTime in Pandas in ein Datum
So konvertieren Sie Strings in Pandas in Float

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert