datetime、Timestamp、datetime64 間の変換 質問する

datetime、Timestamp、datetime64 間の変換 質問する

オブジェクトを(または)numpy.datetime64に変換するにはどうすればよいですか?datetime.datetimeTimestamp

次のコードでは、datetime、timestamp、datetime64 オブジェクトを作成します。

import datetime
import numpy as np
import pandas as pd
dt = datetime.datetime(2012, 5, 1)
# A strange way to extract a Timestamp object, there's surely a better way?
ts = pd.DatetimeIndex([dt])[0]
dt64 = np.datetime64(dt)

In [7]: dt
Out[7]: datetime.datetime(2012, 5, 1, 0, 0)

In [8]: ts
Out[8]: <Timestamp: 2012-05-01 00:00:00>

In [9]: dt64
Out[9]: numpy.datetime64('2012-05-01T01:00:00.000000+0100')

注: タイムスタンプから日時を取得するのは簡単です:

In [10]: ts.to_datetime()
Out[10]: datetime.datetime(2012, 5, 1, 0, 0)

しかし、 ( )からdatetimeor を抽出するにはどうすればよいでしょうか?Timestampnumpy.datetime64dt64

更新: 私のデータセット内のやや厄介な例 (おそらく動機となる例) は次のようになります。

dt64 = numpy.datetime64('2002-06-28T01:00:00.000000000+0100')

これは でありdatetime.datetime(2002, 6, 28, 1, 0)、長い (!) ( 1025222400000000000L) ではありません...

ベストアンサー1

pd.Timestamp コンストラクターを使用するだけです。次の図は、この問題や関連する質問に役立つ可能性があります。

時間表現間の変換

おすすめ記事