Seite 1 von 1

Pandas: aus Zeit String die Stunde in neue Spalte ablegen

Verfasst: Samstag 27. April 2019, 16:28
von sandrosute
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

Re: Pandas: aus Zeit String die Stunde in neue Spalte ablegen

Verfasst: Samstag 27. April 2019, 19:14
von ThomasL
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

Re: Pandas: aus Zeit String die Stunde in neue Spalte ablegen

Verfasst: Samstag 27. April 2019, 22:04
von sandrosute
Danke,

habs mit deiner Hilfe hinbekommen.