Die Datums- bzw. Uhrzeit im Format gegeben YY-MM-DD HH: MM: SS in einem dataframe.I will neue Serie von Jahr, Monat und Stunde, für die Ich versuche den folgenden Code. Aber das Problem ist, dass Monat und Stunde den gleichen Wert erhalten, Jahr ist in Ordnung.Python-String für die Extraktion von Datum und Uhrzeit Parsen
Kann mir jemand dabei helfen? Ich benutze Ipthon Notebook und Pandas und numpy. Hier
ist der Code:
def extract_hour(X):
cnv=datetime.strptime(X, '%Y-%m-%d %H:%M:%S')
return cnv.hour
def extract_month(X):
cnv=datetime.strptime(X, '%Y-%m-%d %H:%M:%S')
return cnv.month
def extract_year(X):
cnv=datetime.strptime(X, '%Y-%m-%d %H:%M:%S')
return cnv.year
#month column
train['Month']=train['datetime'].apply((lambda x: extract_month(x)))
test['Month']=test['datetime'].apply((lambda x: extract_month(x)))
#year column
train['Year']=train['datetime'].apply((lambda x: extract_year(x)))
test['Year']=test['datetime'].apply((lambda x: extract_year(x)))
#Hour column
train['Hour']=train['datetime'].apply((lambda x: extract_hour(x)))
test['Hour']=test['datetime'].apply((lambda x: extract_hour(x)))
können Sie stattdessen date accessors verwenden: 'train ['datetime']. Dt.month',' train ['datetime']. Dt.year', 'train ['datetime']. Dt.hour', etc. – MaxU
@MaxU Wird es automatisch erkennen, Jahr Monat und Stunde? Was ist das Standardformat, das es annimmt? –
siehe Demo in meiner Antwort – MaxU