Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python】Pandasのto_datetime()で日付文字列を日時(datetime)形式に変換する方法

この記事では、「24 August 2020」のような日付文字列を「2020-08-24 00:00:00」という日時(datetime)形式に変換するプログラムを紹介します。この変換には、Pandasライブラリが提供する to_datetime() 関数を使用します。

アルゴリズム

ステップ1:日付文字列を含むPandasシリーズを定義する。
ステップ2:to_datetime() 関数を使って、日付文字列を日時形式に変換する。
ステップ3:結果を出力する。

サンプルコード

import pandas as pd

series = pd.Series(["24 August 2020", "25 December 2020 20:05"])
print("Series: \n", series)

datetime = pd.to_datetime(series)
print("DateTime Format: \n", datetime)

pd.Series() で作成したシリーズには、時刻情報を含まない文字列と、時刻情報を含む文字列が混在しています。to_datetime() を使うことで、どちらも自動的に適切な日時形式へ変換されます。

実行結果

Series:
0            24 August 2020
1    25 December 2020 20:05
dtype: object
DateTime Format:
0   2020-08-24 00:00:00
1   2020-12-25 20:05:00
dtype: datetime64[ns]

出力を見ると、元のシリーズのデータ型は object(文字列)ですが、to_datetime() の適用後は datetime64[ns] 型に変換されていることがわかります。時刻が指定されていない「24 August 2020」は、デフォルトで「00:00:00」として扱われます。

なお、to_datetime() はさまざまなフォーマットの日付文字列を柔軟に解析できるため、CSVファイルなどから読み込んだ日付データの前処理にも広く活用されています。フォーマットが明確な場合は format 引数を指定することで、より高速かつ正確に変換できます。

  1. Pythonで16進数の文字列を10進数に変換する方法を解説

    この記事では、16進数の文字列を10進数に変換する問題の解決策について詳しく解説します。課題の概要16進数形式の文字列が与えられたとき、それを対応する10進数の値に変換することを目標とします。例えば、16進数の「F」は10進数では「15」に相当します。この問題には主に2つのアプローチがあります。力ずく(ブルートフォース)な手法:int関数を使った明示的な型変換組み込みモジュールを活用する手法:astモジュールのliteral_eval関数を使用方法1:int関数を使った変換最もシンプルで一般的な方法は、Pythonの組み込み関数であるint()を利用するものです。この関数は2つの引数を受け取り

  2. Pythonで文字のリストを文字列に変換する方法を解説

    Pythonでは、リスト内の個々の要素をひとつの文字列にまとめたい場面がよくあります。たとえば、データを保存したり送信したりする際に必要となるシリアライズ(直列化)の処理では、このような変換が非常に役立ちます。具体的には、次のような変換を指します。[h, e, l, l, o, , w, o, r, l, d] → hello worldjoinメソッドを使った変換Pythonには、このような変換を実現するためのjoin()メソッドが標準で用意されています。joinメソッドは、区切り文字(デリミタ)として使う文字列に対して呼び出し、引数に渡したリストの各要素を連結します。今回は各文字をつなげ