オブジェクトを(または)numpy.datetime64
に変換するにはどうすればよいですか?datetime.datetime
Timestamp
次のコードでは、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)
しかし、 ( )からdatetime
or を抽出するにはどうすればよいでしょうか?Timestamp
numpy.datetime64
dt64
。
更新: 私のデータセット内のやや厄介な例 (おそらく動機となる例) は次のようになります。
dt64 = numpy.datetime64('2002-06-28T01:00:00.000000000+0100')
これは でありdatetime.datetime(2002, 6, 28, 1, 0)
、長い (!) ( 1025222400000000000L
) ではありません...
ベストアンサー1
pd.Timestamp コンストラクターを使用するだけです。次の図は、この問題や関連する質問に役立つ可能性があります。