Python 3 における datetime、Timestamp、datetime64 の変換

PYTHON3 チュートリアル

Python 3 では、時間を扱う際に、datetimepandas.Timestampnumpy.datetime64 などの異なるデータ型を使用することができます。時には、これらのデータ型間で変換が必要になることがあります。以下は、それらの変換方法に関する詳細なガイドです。

1. datetime から pandas.Timestamp への変換

datetime オブジェクトを pandas.Timestamp に変換するためには、pandas ライブラリの pd.Timestamp() を使用します。

import datetime
import pandas as pd

# datetime オブジェクト
dt = datetime.datetime.now()

# pandas.Timestamp に変換
ts = pd.Timestamp(dt)

print(ts)

2. pandas.Timestamp から datetime への変換

逆に、pandas.Timestamp から datetime へは、to_pydatetime() メソッドを使用して変換できます。

# pandas.Timestamp オブジェクト
ts = pd.Timestamp('2023-09-13 10:00:00')

# datetime に変換
dt = ts.to_pydatetime()

print(dt)

3. datetime から numpy.datetime64 への変換

datetimenumpy.datetime64 に変換するためには、numpy ライブラリの np.datetime64() 関数を使用します。

import numpy as np

# datetime オブジェクト
dt = datetime.datetime.now()

# numpy.datetime64 に変換
dt64 = np.datetime64(dt)

print(dt64)

4. numpy.datetime64 から datetime への変換

numpy.datetime64 から datetime への変換には、astype() メソッドを使用します。

# numpy.datetime64 オブジェクト
dt64 = np.datetime64('2023-09-13T10:00:00')

# datetime に変換
dt = dt64.astype(datetime.datetime)

print(dt)

5. pandas.Timestamp から numpy.datetime64 への変換

pandas.Timestampnumpy.datetime64 に変換するには、pandas.Timestamp オブジェクトの to_numpy() メソッドを使用します。

# pandas.Timestamp オブジェクト
ts = pd.Timestamp('2023-09-13 10:00:00')

# numpy.datetime64 に変換
dt64 = ts.to_numpy()

print(dt64)

6. numpy.datetime64 から pandas.Timestamp への変換

同様に、numpy.datetime64pandas.Timestamp に変換するには、pd.Timestamp() を使用します。

# numpy.datetime64 オブジェクト
dt64 = np.datetime64('2023-09-13T10:00:00')

# pandas.Timestamp に変換
ts = pd.Timestamp(dt64)

print(ts)

注意: 時間関連のデータ型を変換する際は、タイムゾーンに関する情報に注意が必要です。データにタイムゾーンが含まれている場合、正しく処理されないと誤差が生じることがあります。

まとめ

Pythonを使うことで、datetimepandas.Timestamp、および numpy.datetime64 間の変換は比較的簡単に行うことができます。これらのサンプルを参考に、目的に応じた時間データの変換が行えるようになるでしょう。

購読
通知
0 Comments
Inline Feedbacks
View all comments