Pandas: aus Zeit String die Stunde in neue Spalte ablegen

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
sandrosute
User
Beiträge: 4
Registriert: Samstag 27. April 2019, 16:14

Hallo Ihr,

ich bin noch ziemlich neu in Python unterwegs.
Ich habe ein Dataframe in dem eine Spalte eine Datums- und Zeitangabe enthält. Ich möchte aus dieser Zeitangabe die Stunde ermitteln und diese in eine weitere Spalte in das DataFrame ablegen. Könnt ihr mir helfen wie dieses Problem zu lösen ist?

Anbei der Code,

Code: Alles auswählen

from datetime import *
import pandas as pd

DatumFormatTyp = '%d.%m.%Y %H:%M'
SpaltenIndex = ['StartStr']
SpaltenIndexStunde = 'Stunde'
E_DataDB = [['01.01.2015 00:00'],
        ['01.01.2015 00:15'],
        ['01.01.2015 06:30'],
        ['01.01.2015 06:45']]
        
E_DataArrayPD = pd.DataFrame(E_DataDB)
E_DataArrayPD.columns=SpaltenIndex
#die nächste Zeile liefert die Fehlermeldung strptime() argument 1 must be str, not Series
E_DataArrayPD[[SpaltenIndexStunde]] = datetime.strptime(E_DataArrayPD['StartStr'], DatumFormatTyp)
Danke für eure Mühen

sandrosute
Benutzeravatar
ThomasL
User
Beiträge: 1378
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

wandle die Datumsspalte in ein datetime Typ um
https://pandas.pydata.org/pandas-docs/s ... etime.html
und dann kannst du so

Code: Alles auswählen

df["Stunde"] = df["Datum"].dt.hour
eine neue Spalte mit der Stunde erzeugen
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
sandrosute
User
Beiträge: 4
Registriert: Samstag 27. April 2019, 16:14

Danke,

habs mit deiner Hilfe hinbekommen.
Antworten