Datetime型への変換、Datetime型の取り扱い

文字列型やobject型として読み込まれてしまっている特定列を、Datetime型に変換するには、Pandasのto_datetime関数を使おう。

import pandas as pd

df["measurement_ts"] = pd.to_datetime(df["measurement_ts"])


タイムゾーンを削除したり、日時や曜日を抽出する場合は、Seriesのdtアクセサを使うのが簡単だ。

# タイムゾーンの削除
df["measurement_ts"] = pd.to_datetime(df["measurement_ts"]).dt.tz_localize(None)

df["hour"] = df["measurement_ts"].dt.hour  # 時間の抽出
df["day"] = df["measurement_ts"].dt.dayofweek  # 曜日の抽出
df["date"] = df["measurement_ts"].dt.date  # 日付の抽出


ちなみに、.dt.dayofweekでは、月曜日が0、火曜日が1、…、日曜日が6となる整数が返ってくる。


ここで、.dt.dateの返り値はdatetime64[ns]ではなく、object型だ。Datetime型に変換しておくのが良いだろう。

df["date"] = pd.to_datetime(df["date"])



コメントを投稿

0 コメント