Ich habe einige meiner Datum als 26-07-10 und andere als 4/8/2010 als String-Typ in einem CSV. Ich möchte, dass sie im Format 4.8.2010 sind, damit ich sie jedes Jahr analysieren und gruppieren kann. Gibt es eine Funktion in Python oder Pandas helfen mir?Wie konvertiert man Stech verschiedener Datumsformate in einzelne Datumsformate in Python?
0
A
Antwort
0
Sie können dieses Datum Formen analysieren mit parse_dates
param von read_csv
Note jedoch für mehrdeutige Formen kann es zum Beispiel fehlschlagen, wenn Sie Monat geben mit Tag gemischt erste Formen zuerst:
In [7]:
t="""date
26-07-10
4/8/2010"""
df = pd.read_csv(io.StringIO(t), parse_dates=[0])
df
Out[7]:
date
0 2010-07-26
1 2010-04-08
Sie durch das angezeigte Format ändern können Ändern des String-Format dt.strftime
mit:
In [10]:
df['date'].dt.strftime('%d/%m/%Y')
Out[10]:
0 26/07/2010
1 08/04/2010
Name: date, dtype: object
Wirklich obwohl es besser ist, zu halten, die Spalte als datetime
Sie dann auf Jahr GROUPBY können:
In [11]:
t="""date,val
26-07-10,23
4/8/2010,5567"""
df = pd.read_csv(io.StringIO(t), parse_dates=[0])
df
Out[11]:
date val
0 2010-07-26 23
1 2010-04-08 5567
In [12]:
df.groupby(df['date'].dt.year).mean()
Out[12]:
val
date
2010 2795
0
können Sie versuchen, mit parse-date
Parameter von pd.read_csv()
wie @EdChum erwähnt Alternativ können Sie sie in ein Standardformat typisieren könnte, wie das von datetime.date
wie folgt:
import io
import datetime
t=u"""date
26-07-10
4/8/2010"""
df = pd.read_csv(io.StringIO(t), parse_dates=[0])
df.date.astype(datetime.date)
df
aus:
date
0 2010-07-26
1 2010-04-08
Verwandte Themen
- 1. Parsing verschiedener Datumsformate von Feedparser in Python?
- 2. schreiben Sie eine Funktion zum Konvertieren verschiedener Datumsformate in Python
- 3. Validieren Datumsformate in Schienen
- 4. Excel: Ändern Datumsformate
- 5. Datumsformate für Wochen
- 6. verschiedene Datumsformate eingeben
- 7. Von Menschen lesbare Datumsformate
- 8. konfigurieren Gson mehrere Datumsformate
- 9. Analysis Services-Datumsformate
- 10. Dynamische Regex für Datumsformate
- 11. WebFocus bezogene Abfrage über Datumsformate
- 12. Spiel und mehrere Datumsformate in eine mit Python Regex ändern
- 13. "svn: Syntaxfehler in Revisionsargument" für Datumsformate
- 14. IMPALA Datumsformate - Konvertieren Vollzeitstempel stündliche Zeitstempel
- 15. MySQL Datumsformate - Schwierigkeit Eingeben eines Datums
- 16. Teilen einer Spalte, die mehrere Datumsformate enthält
- 17. Groovy: verschiedene Datumsformate und Konvertierungen handhaben
- 18. sql-Funktion zum Ändern mehrerer Datumsformate in ein Datumsformat
- 19. deserialize zwei verschiedene Datumsformate mit GSON
- 20. Regex für die Anpassung mehrerer Datumsformate?
- 21. Einfache Möglichkeit, mehrere Datumsformate zu vereinheitlichen?
- 22. Überprüfen Sie mehrere Datumsformate mit DateTime.TryParse()
- 23. So ändern Sie mehrere Datumsformate in derselben Spalte
- 24. konvertieren verschiedene Datumsformate yyyy-mm-dd in Javascript
- 25. Entity Famework: Wählen Sie in Linq Probleme mit Datumsformate
- 26. SimpleDateFormat.parse() - erzeugt ein falsches Datum für verschiedene Datumsformate
- 27. SSRS Abfrage Datum Format und Parameter Datumsformate unterscheiden?
- 28. Zwei verschiedene Datumsformate der Jquery-Datumsauswahl unter derselben ID
- 29. SQL Server Datumsformate (YYYY-MM-DD HH: MI: ss.mmm)
- 30. Wie viele verschiedene Orte müssen Sie Datumsformate in IIS 7.0 und Win2k8
Da Sie Mischformat haben, müssen Sie sie anders analysieren, sind Ihre Daten nur in diesen 2 Formaten? Auch das zweite Formular ist ein ungültiges Formular, da es keine Null gefüllt – EdChum
ja nur zwei Format hat. aber etwas wie allgemeine Antwort kann hilfreicher sein. –
Hmm eigentlich scheint 'to_datetime' und' parse_dates' Parameter von 'read_csv' Mann/Frau genug, um beide Formen zu behandeln – EdChum