0Pricing
Data Science Academy · レッスン

文字列をDatetimeに解析する

to_datetimeと書式の扱い

「文字列をDatetimeに解析する」はCoddyKit上の無料Data Science Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはData Science Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Data Science Academyコースには全4レッスンが含まれています。

日付がテキストとして隠れている

CSVを読み込むと、日付は通常、単なる文字列として取り込まれます。見た目は正しくても、pandasにはテキストとして扱われるため、まだ日付の計算はできません。📅

to_datetimeを使う

解決策はpd.to_datetimeという1つの関数です。テキストを調べ、各値をpandasで計算できる本物のタイムスタンプに変換します。

import pandas as pd
ts = pd.to_datetime("2024-03-15")
print(ts)

列全体を変換する

Seriesを渡すと、タイムスタンプの列が返されます。日付フィールドを含むテーブルを読み込んだ直後に行う、日常的な操作です。

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

dtypeを確認する

変換後、列のdtypeはdatetime64になります。この1回の確認で、解析が実際に成功し、日付の計算が使える状態になったことがわかります。

print(df["date"].dtype)  # datetime64[ns]

さまざまな形式を1回で処理する

to_datetimeは賢い関数です。ISO形式の日付、スラッシュ区切り、さらには月名を含む日付も自動的に読み取ります。整ったISO文字列なら、ほかに指定する必要はほとんどありません。

pd.to_datetime(["2024-01-01", "Jan 2, 2024"])

形式を明示する

日付が曖昧な場合は、明示的なformat文字列を指定します。推測をなくせるうえ、大きな列では処理も大幅に速くなります。

pd.to_datetime("15/03/2024", format="%d/%m/%Y")

日が先に来る日付

03/04は3月でしょうか、それとも4月でしょうか? dayfirst=Trueを設定すると、pandasは月より先に日を読み取り、多くのヨーロッパ式の日付表記に合わせられます。

pd.to_datetime("03/04/2024", dayfirst=True)

エラーを起こさず不正な値を処理する

1つの不正なセルが、列全体の解析を失敗させることがあります。errors="coerce"を使うと、解析できない値をエラーにせずNaTに変換できます。

pd.to_datetime("not-a-date", errors="coerce")  # NaT

NaTの紹介

NaTはNaNの日付時刻版で、欠損したタイムスタンプを表します。isnaで解析に失敗した値を見つけ、処理方法を決められます。

df["date"].isna().sum()  # count failed parses

日付と時刻の部分を結合する

日付列と時刻列が分かれていますか? それらを1つの文字列に連結してから、1回で解析します。最終的に、整った1つのタイムスタンプになります。

pd.to_datetime(df["day"] + " " + df["time"])

読み込み時に解析する

インポート時に解析すれば、手順を1つ省略できます。read_csvにparse_datesを渡すと、列が最初からdatetimeとして読み込まれます。

pd.read_csv("sales.csv", parse_dates=["date"])

確認問題

日付列に、欠損値として扱いたい不正な値がいくつかあります。

まとめ:日付を解析できる

pd.to_datetimeでテキストを本物のタイムスタンプに変換し、形式を制御し、coerceで不正な値を処理し、読み込み時の解析も行いました。これで日付の計算を使えるようになりました。🎉

よくある質問

「文字列をDatetimeに解析する」レッスンは無料ですか?

はい。「文字列をDatetimeに解析する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Data Science Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Data Science Academyコースには全4レッスンが含まれています。

「文字列をDatetimeに解析する」で何を学びますか?

to_datetimeと書式の扱い ブラウザで直接実行するハンズオンコードでData Science Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Data Science Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのData Science Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「文字列をDatetimeに解析する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このData Science Academyレッスンでコードを書いて実行できますか?

はい。すべてのData Science Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 文字列をDatetimeに解析する
  2. 年、月、曜日を取り出す
  3. 日次または月次にresampleする
  4. タイムゾーンと日付範囲
← Data Science Academyに戻る