Ich habe ein Feld in einem Pandas DataFrame, das als Zeichenfolgenformat importiert wurde. Es sollte eine datetime-Variable sein. Wie konvertiere ich es in eine Datums- / Uhrzeitspalte und filtere dann nach Datum.
Beispiel:
- DataFrame-Name: raw_data
- Spaltenname : Mycol
- Werteformat in Spalte: '05SEP2014: 00: 00: 00.000'
format
Argument ist nicht erforderlich.to_datetime
ist schlau. Probieren Sie es aus, ohne Ihre Daten abzugleichen.SettingWithCopyWarning
Verwendung zu vermeiden, verwenden Sie die @ darth-behfans stackoverflow.com/a/42773096/4487805infer_datetime_format=True
könnte die Parsing-Geschwindigkeit (laut Pandas-Dokumenten) auch auf das ~ 5-10-fache erhöht werden, wenn Sie keine Formatzeichenfolge einfügen.Mit der DataFrame-Methode können Sie
.apply()
die Werte in Mycol bearbeiten:quelle
Wenn Sie mehr als eine Spalte konvertieren möchten, können Sie Folgendes tun:
quelle
funktioniert, führt jedoch zu einer Python-Warnung: Ein Wert versucht, auf einer Kopie eines Slice aus einem DataFrame festgelegt zu werden. Versuchen Sie es
.loc[row_indexer,col_indexer] = value
stattdessenIch würde vermuten, dass dies auf eine Verkettungsindizierung zurückzuführen ist.
quelle
Verwenden Sie die Pandas-
to_datetime
Funktion, um die Spalte als DateTime zu analysieren. Durch die Verwendunginfer_datetime_format=True
wird das Format automatisch erkannt und die angegebene Spalte in DateTime konvertiert.quelle