Sie könnten versuchen to_datetime
.
import pandas as pd
your_df['time']=pd.to_datetime(your_df['time'])
Edit: die Epoche von einem Datetime-Objekt zu erhalten, können Sie die Serie zu einem int64 Objekt konvertieren, das Ihnen die Anzahl der Nanosekunden seit der Epoche geben, und dividieren durch 10^9 (die Zahl von Nanosekunden in einer Sekunde).
import numpy as np
your_df['time'] = (pd.to_datetime(your_df['time']).astype(np.int64)/10**9).astype(np.int64)
Die letzte Konvertierung benötigt wird, wenn man es in ganzen Zahlen haben wollen (die Division geben Ihnen schwebt statt)
Hinweis: Wenn Sie NaT Objekten in Ihrer Zeitreihen haben, werden sie zeigen sich als Der ganzzahlige Wert -9223372036, und Sie möchten sie entweder im Voraus ausfiltern oder sie als NaN ausgeben lassen (in diesem Fall muss die resultierende Folge vom Typ float anstelle von int sein).
I 'Unknown String-Format' Störung erhalten; Ich verwende format = '% B% d% Y' Argument, das korrekt zu sein scheint ... –
Für mich funktioniert es mit den vier Zeichenfolgen, die Sie oben haben. Ist es möglich, dass Sie einige unsaubere Daten in der Spalte haben, d. H. Eine oder mehrere Zeilen, die nicht mit dem Zeichenfolgenmuster übereinstimmen? – ilmarinen
Ah ja, ich habe den Formatfehler behoben, indem ich die fehlerhaften Daten bereinigt habe, aber Ihre obige Funktion liefert mir eine Reihe von Python-Datetime-Objekten statt epochalen Sekunden. –