Python 3でDataFrameの列を文字列から日時に変換する方法
Python 3のデータ処理において、Pandasライブラリは非常に強力なツールです。特に、データの前処理やクリーニングの際に、文字列で表現された日付を日時型に変換することはよくあるタスクです。この変換により、日時の演算や比較が容易になります。本記事では、Pandasを用いてDataFrameの列を文字列から日時に変換する方法について詳しく解説します。
pandas.to_datetime関数を使用する
Pandasには、文字列を日時型に変換するための便利な関数としてpandas.to_datetime()
があります。まずは、基本的な使い方を確認しましょう。
import pandas as pd # サンプルデータの作成 data = {'date_string': ['2023-01-01', '2023-02-15', '2023-03-30']} df = pd.DataFrame(data) # 文字列を日時型に変換 df['date'] = pd.to_datetime(df['date_string']) print(df)
出力:
date_string date 0 2023-01-01 2023-01-01 1 2023-02-15 2023-02-15 2 2023-03-30 2023-03-30
この例では、date_string
列の文字列を日時型に変換し、新しいdate
列に格納しています。
日付フォーマットの指定
文字列の日付フォーマットが異なる場合、format
パラメータを使用して明示的にフォーマットを指定することができます。
data = {'date_string': ['01/01/2023', '15/02/2023', '30/03/2023']} df = pd.DataFrame(data) # フォーマットを指定して変換 df['date'] = pd.to_datetime(df['date_string'], format='%d/%m/%Y') print(df)
出力:
date_string date 0 01/01/2023 2023-01-01 1 15/02/2023 2023-02-15 2 30/03/2023 2023-03-30
この例では、日付フォーマットがDD/MM/YYYY
であることを指定して変換しています。
エラーの処理
文字列が無効な日付を含む場合、errors
パラメータを使用してエラーを処理することができます。coerce
を指定すると、変換できない値はNaT
(Not a Time)になります。
data = {'date_string': ['2023-01-01', 'invalid_date', '2023-03-30']} df = pd.DataFrame(data) # エラー処理を指定して変換 df['date'] = pd.to_datetime(df['date_string'], errors='coerce') print(df)
出力:
date_string date 0 2023-01-01 2023-01-01 1 invalid_date NaT 2 2023-03-30 2023-03-30
この例では、invalid_date
がNaT
に変換されていることがわかります。
まとめ
Pandasのto_datetime
関数を使うことで、DataFrameの文字列型の日付を簡単に日時型に変換できます。フォーマットの指定やエラー処理も柔軟に行えるため、データの前処理がスムーズに進みます。これにより、日付を用いた高度なデータ分析が可能になります。ぜひ、これらの方法を活用して、データの扱いをさらに効率化してください。
Python 3でDataFrame列の型を文字列から日時に変換する際には、pandasライブラリのto_datetime関数を使用します。まず、DataFrameの該当する列を選択し、その列のデータ型を文字列から日時に変換したい場合は、to_datetime関数を使って変換を行います。
具体的な手順としては、まずpandasライブラリをインポートし、DataFrameを作成します。次に、to_datetime関数を使用して指定した列のデータ型を日時に変換します。この際、適切なフォーマットを指定することで、正確な変換が行われます。
例えば、以下のコードでは、DataFrameの”date”列を文字列から日時に変換しています。
import pandas as pd
df = pd.DataFrame({‘date’: [‘2022-01-01’, ‘2022-01-02’, ‘2022-01-03’]})
df[‘date’] = pd.to_datetime(df[‘date’])このようにすることで、DataFrame列の型を文字列から日時に変換することができます。日時データを扱う際には、適切なデータ型に変換することでデータの解析や可視化が容易になります。