PythonのPandasのto_datetimeメソッドについて

Python,イメージ

AI実装検定のご案内

Pandasのto_datetimeメソッド について、基礎から応用までを体系的に解説します。

目次

to_datetimeとは?

pandas.to_datetime は、文字列や数値、配列、Seriesなどを日時型(datetime64[ns])に変換するための関数です。

DataFrameを扱う際に「文字列として保存された日付」を「Pandasの日時型」に変換することで、以下のような操作が可能になります。

  • 日付の抽出(年・月・日・曜日など)
  • 日付の比較(範囲指定、フィルタリング)
  • 時系列データのリサンプリング(週単位・月単位に集計)
  • 時間差の計算(timedelta

主な引数

  • arg
    変換対象。文字列、リスト、NumPy配列、Seriesなど。
  • errors(デフォルト: 'raise'
    変換できない場合の挙動を指定
    • 'raise' → エラーを出す
    • 'coerce' → NaT(欠損値扱い)にする
    • 'ignore' → 変換せずそのまま返す
  • format
    日付のフォーマットを指定(例: "%Y-%m-%d")。指定すると変換速度が向上。
  • dayfirst
    Trueにすると「日/月/年」形式で解釈(欧州式など)。
  • utc
    TrueにするとUTCのタイムゾーンに変換。
  • unit
    数値を日時に変換する単位を指定(例: "s" 秒, "ms" ミリ秒, "ns" ナノ秒)。
  • origin
    数値を日付に変換する基準点。デフォルトは "unix"(1970-01-01)。

基本的な使い方

文字列を変換

import pandas as pd
pd.to_datetime("2025-09-13")

複数の日付(リストやSeries)

dates = ["2025-09-13"]
pd.to_datetime(dates)

変換できない値を含む場合

pd.to_datetime(["2025-09-13", "invalid"], errors="coerce")

フォーマット指定の活用

フォーマットを指定すると変換が高速かつ正確になります。

pd.to_datetime("13-09-2025", format="%d-%m-%Y")

フォーマット例(strftime記法)

  • %Y : 年(4桁)
  • %m : 月(2桁)
  • %d : 日(2桁)
  • %H : 時(24時間)
  • %M : 分
  • %S : 秒

数値からの変換

Unix時間(エポック秒など)を日時に変換できます。

pd.to_datetime([1631548800, 1631635200], unit="s")

DataFrameでの利用

data = {"date": ["2025-09-13"]}
df = pd.DataFrame(data)

df["date"] = pd.to_datetime(df["date"])
print(df.dtypes)
# 出力:
# date    datetime64[ns]
# dtype: object

まとめ

  • to_datetime は文字列や数値を日時型に変換する必須関数。
  • errors="coerce" を使うと変換できないデータを NaT にできる。
  • format を指定すれば高速で正確。
  • DataFrameで使うことで時系列解析が容易になる。

以上、PythonのPandasのto_datetimeメソッドについてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次