Python 3でのDataFrame列の型を文字列から日時に変換

PYTHON3 チュートリアル

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_dateNaTに変換されていることがわかります。

まとめ

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列の型を文字列から日時に変換することができます。日時データを扱う際には、適切なデータ型に変換することでデータの解析や可視化が容易になります。

購読
通知
0 Comments
Inline Feedbacks
View all comments