Ich habe eine CSV-Ausgabe von thermischen Simulationen, die ich Datenanalyse durchführen möchte, mit Pandas.Konvertieren/Analysieren von Spaltenstrings in Datetime-Werte - Pandas
Nachdem ich die CSV in einen Pandas Datenframe importiert habe, möchte ich den Zeitstempel manipulieren und ihn als solchen importieren.
Das Startformat ist das folgende (beginnt mit einem Leerzeichen, hat US-Datenformat und Jahr fehlt).
' 05/01 01:00:00'
' 05/01 02:00:00'
' 05/01 03:00:00'
' 05/01 04:00:00'
' 05/01 05:00:00'
Ich war adviced es mit einer Loop-Funktion zu adressieren, die ich wie folgt geschrieben:
timestamp = []
for ns in raw_datetime:
#timestamp.append(ns[5:7] + '.' + ns[2:4] + '_' + ns[9:11] + '00h')
timestamp.append('2016' + '/' + ns[2:4] + '/' + ns[5:7] + '_' + ns[9:11] + ':00')
wo
raw_datetime = df[' Date/Time'] #original data column
Dies funktioniert gut und gibt das Datetime-Format ich will.
['2016/05/01_01:00', '2016/05/01_02:00', '2016/05/01_03:00', '2016/05/01_04:00']
Allerdings scheint dies nicht verwendet werden durch pd.to_datetime Funktion, wie eine Liste zu erfordern scheint eher als eine Reihe (?).
stieß ich auf das Konzept der Analyse und bekannten Funktionen wuch wie:
raw_datetime.str.extract('string', expand=True)
aber ich bin nicht sicher, wie ich das tun konnte, während Monat und Tag Spiegeln und das Hinzufügen Jahr 2016 Informationen, die nicht vorhanden ist in den Rohdaten.
Danke!
Bearbeiten: Code unten hinzugefügt N.B. nativen Format ist '05/01 01.00.00', dh: Doppel Raum, Monat, Tag, Doppelraum, hh, mm, ss)]
erster Versuch
df = pd.read_csv('./SimResults.csv')
a = pd.to_datetime(df[' Date/Time'], format=' %m/%d %H:%M:%s')
Zweiter Versuch:
df = pd.read_csv('./SimResults.csv')
raw_datetime = df[' Date/Time'].str.lstrip(' ')
raw_datetime = ('2016/') + raw_datetime
b = pd.to_datetime(raw_datetime, format='%Y/%m/%d %H:%M:%S')
es auch auf einer Reihe arbeiten sollte ' pd.to_datetime (df ['your_new_col']) 'sollte funktionieren – EdChum
Wenn Sie die CSV-Datei lesen verwenden Sie' parse_dates = ['Date/Time'] ', dann wird automatisch' 2016' an das Datum angehängt. – shivsn
Entschuldigung Jungs, aber nichts davon scheint zu funktionieren! – Andreuccio