2016-08-01 7 views
2

Ich möchte ein Datum von sas, 14487, bis 1999-08-31 umrechnen.drop hour, min, sek von timestemp?

Wie kann ich die aktuellen Ergebnisse '1999-08-31 00:00:00' in '1999-08-31' umwandeln? Ich habe versucht, ser.normalize(). Aber es hilft nicht.

ser = pd.to_timedelta(14487, unit='D') + pd.Timestamp('1960-1-1') 
ser.normalize() 

Ausbeute

Timestamp('1999-08-31 00:00:00') 

Antwort

3

normalize setzt nur die Zeit bis Mitternacht (nach the docs).

Sie können strftime verwenden (siehe Dok. here). Außerdem ist here eine Liste der Formatspezifizierer, die Sie verwenden können.

ser = pd.to_timedelta(14487, unit='D') + pd.Timestamp('1960-1-1') 
ser.strftime('%Y-%m-%d') 

Ausgänge

'1999-08-31' 
+0

Dank. Irgendeine Idee, warum .normalize() nicht funktioniert? – Lisa

+0

danke @ Alex irgendeine Idee, warum .normalize() funktioniert nicht? – Lisa

+0

@ user7153 Willkommen! Aktualisierter Beitrag, um dies zu beantworten. – Alex

3

Wenn Sie es in einem datetime.date Format wollen:

(pd.to_timedelta(14487, unit='D') + pd.Timestamp('1960-1-1')).date() 
#Out: 
#datetime.date(1999, 8, 31) 
Verwandte Themen