Datum von String zu Integer - Pandas

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
phykka
User
Beiträge: 9
Registriert: Donnerstag 22. April 2021, 18:25

Hallo,

die Spalte "start_date" aus der 1. Tabelle möchte ich in das gleiche Format bringen wie die Spalte "date" in der 2. Tabelle.
Ziel ist es beide Tabellen anhand des Datums zusammen zufügen

Tabelle1:
start_date .....
Oct 25 2018
Oct 25 2018
....


Tabelle2:
date .....
2018-10-01
2018-10-02
....

Beim Versuch 'start_date' auf das gleiche Format wie 'date' zu bringen kommt folgender Fehler:

Code: Alles auswählen

from datetime import datetime

data_trip['start_date'] = datetime.strptime(data_trip['start_date'],'%m/%d/%y')

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-138-25c02840f177> in <module>
----> 1 data_trip['start_date'] = datetime.strptime(data_trip['start_date'],'%m/%d/%y')

TypeError: list indices must be integers or slices, not str

Hat hierfür jemand eine Lösung?

Vielen Dank schon mal!
Benutzeravatar
__blackjack__
User
Beiträge: 14007
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@phykka: Du schreibst zwar Pandas im Betreff, laut Fehlermeldung hast Du da aber einfach nur eine normale Liste.

Die Formatbeschreibung "%m/%d/%y" würde übrigens nicht auf "Oct 25 2018" passen. Das hat a) keine Schrägstriche und b) ist %m für den Monat als *Zahl*. Und zusätzlich würde `datetime.strptime()` nichts mit einem `pandas.Series`-Objekt anfangen können wenn `data_trip` denn ein `DataFrame` wäre.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
mali321
User
Beiträge: 4
Registriert: Samstag 7. Mai 2022, 11:04

Ich denke, der Fehler liegt darin, dass Du nicht zuvor die Datei eingelesen hast...

Du musst erst die Datei einlesen und dann kannst du anfangen das Datum zu ändern.

also sowas wie

zu_öffnende_datei=open(pfad zur datei, r)

oder with open (pfad zur datei) as:

Dann erst geht es weiter....
Antworten