2016-08-01 6 views
2

日付をsas、14487から1999-08-31に変換したいとします。timestempからの落下時間、分、秒?

「1999-08-31 00:00:00」から「1999-08-31」に変換するにはどうすればよいですか? 私はser.normalize()を試しました。しかし、それは助けにはならない。

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

収率は

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

答えて

3

normalizeだけ(the docsに従って)真夜中までの時間をリセットします。

strftimeを使用できます(ドキュメントhereを参照)。また、hereは、使用できる書式指定子のリストです。

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

出力

'1999-08-31' 
+0

感謝。 .normalize()がうまくいかない理由は何ですか? – Lisa

+0

ありがとう。@アレックス.normalize()が動作しない理由は何ですか? – Lisa

+0

@ user7153ようこそ!これに答えるために更新された投稿。 – Alex

3

あなたはdatetime.date形式でそれをしたい場合:

(pd.to_timedelta(14487, unit='D') + pd.Timestamp('1960-1-1')).date() 
#Out: 
#datetime.date(1999, 8, 31) 
関連する問題