pandasでUNIX時間をdatetime型に変換する
概要
pandasでUNIX時刻をdatetime型に変換する方法について調べたので,備忘録として残しておきます.
UNIX時刻とは
協定世界時 (UTC) での1970年1月1日午前0時0分0秒から形式的な経過秒数(すなわち、実質的な経過秒数から、その間に挿入された閏秒を引き、削除された閏秒を加えたもの)として表される。
変換方法1
pd.to_datetime()
で,引数にunit="s"
とすることで変換できます.
import pandas as pd unix_time = 1590836434 pd.to_datetime(unix_time, unit="s")
> Timestamp('2020-05-30 11:00:34')
変換できました.あるカラムに対して実行するには,
df["timestamp"] = pd.to_datetime(df["timestamp"], unit="s")
とすれば良いです.
変換方法2
自分は上の方法で変な値になってしまう場合があった(原因は不明)ので,以下の方法で変換しました.
from datetime import datetime df["timestamp"] = df["timestamp"].apply(datetime.fromtimestamp)