logo

パイソン | Pandas.to_datetime()

CSV ファイルがインポートされてデータ フレームが作成されると、ファイル内の日付時刻オブジェクトは日付時刻オブジェクトではなく文字列オブジェクトとして読み取られるため、日付時刻ではなく文字列に対して時差などの操作を実行するのは非常に困難です。物体。 Pandas to_datetime() メソッドは、文字列の日付時刻をに変換するのに役立ちます パイソン 日付時刻オブジェクト。

Pandas.to_datetime() の構文

構文: pandas.to_datetime(arg、errors='raise'、dayfirst=False、yearfirst=False、utc=None、box=True、format=None、exact=True、unit=None、infer_datetime_format=False、origin='unix'、キャッシュ=False)



パラメーター:

  1. 引数: 日時オブジェクトに変換する整数、文字列、浮動小数点数、リスト、または辞書オブジェクト。
  2. 初日: ブール値。True の場合、日が最初に配置されます。
  3. 最初の年: ブール値。True の場合、年が最初に配置されます。
  4. UTC: ブール値。True の場合は UTC で時刻を返します。
  5. フォーマット: 日、月、年の位置を示す文字列入力。

戻り値の型: 日付時刻

Pandas の例の Pandas.to_datetime()

パンダ to_datetime() は、さまざまなデータ型を datetime オブジェクトに変換するために使用されます。これを使用する方法については、さまざまな例を見ていきます。



Pandas 文字列を日時に変換する

テキストとして保存された日付と時刻データを datetime オブジェクトに変換するには、Pandas.to_datetime() を使用します。形式は日付と時刻で構成されます。

Python3

文字列を整数に変換する






import> pandas as pd> # date string> d_string>=> '2023-09-17 14:30:00'> # Convert the string to datetime> dt_obj>=> pd.to_datetime(d_string)> print>(dt_obj)>

>

>

出力:

2023-09-17 14:30:00>

Pandas 数値を日時に変換する

datetime オブジェクトは、Unix エポックからの秒数などの時間を表す数値から作成できます。引数unitを使用して入力データの単位を指定できます。

Python3




import> pandas as pd> # Sample numerical value representing seconds since the Unix epoch> unix_timestamp>=> 1721700500> # Convert to datetime using 's' (seconds) as the unit> dt_obj>=> pd.to_datetime(unix_timestamp, unit>=>'s'>)> print>(dt_obj)>

>

>

出力:

2024-07-23 02:08:20>

Pandas 列を DateTime に変換する

ここでは、 を使用して日付と時刻のデータを操作する方法について説明します。 パンダの図書館。 主な目的は、CSV ファイルの日付と時刻の情報を、分析が理解しやすく、より便利になる形式に変換することです。

使用したCSVファイルへのリンクは、 ここをクリック

例 1: 日付形式の変換 パンダを使って

String to Date 次の例では、csv ファイルが読み込まれ、データ フレームの日付列が文字列オブジェクトから日付時刻オブジェクトに変換されます。

Python3




# Importing the pandas package> import> pandas as pd> # Making a data frame from a CSV file> data>=> pd.read_csv(>'/content/todatetime.csv'>)> # Overwriting data after changing the 'Date' format> data[>'Date'>]>=> pd.to_datetime(data[>'Date'>])># Corrected: Added quotes around 'Date'> # Info of the data> data.info()> # Display the data> print>(data.head())>

>

>

出力:

 RangeIndex: 1000 entries, 0 to 999 Data columns (total 2 columns):  # Column Non-Null Count Dtype  --- ------ -------------- -----   0 Date 1000 non-null datetime64[ns]  1 Time 1000 non-null object  dtypes: datetime64[ns](1), object(1) memory usage: 15.8+ KB  Date Time 0 1993-08-06 12:42 PM 1 1996-03-31 6:53 AM 2 1993-04-23 11:17 AM 3 2005-03-04 1:00 PM 4 1998-01-24 4:47 PM>

画像に示すように、Date 列のデータ型はオブジェクトでしたが、to_datetime() を使用すると、日付時刻オブジェクトに変換されました。

例 2: Pandas を使用した時刻形式の変換

変換中の例外 Time オブジェクトもこのメソッドで変換できます。ただし、Time 列には日付が指定されていないため、Pandas は 今日の日付 その場合は自動的に。

Python3




# importing pandas package> import> pandas as pd> # making data frame from csv file> data>=> pd.read_csv(>'/content/todatetime.csv'>)> # overwriting data after changing format> data[>'Time'>]>=> pd.to_datetime(data[>'Time'>])> # info of data> data.info()> # display> print>(data.head())>

>

加算器全加算器
>

出力:

 RangeIndex: 1000 entries, 0 to 999 Data columns (total 2 columns):  # Column Non-Null Count Dtype  --- ------ -------------- -----   0 Date 1000 non-null object   1 Time 1000 non-null datetime64[ns] dtypes: datetime64[ns](1), object(1) memory usage: 15.8+ KB  Date Time 0 8/6/1993 2023-10-12 12:42:00 1 3/31/1996 2023-10-12 06:53:00 2 4/23/1993 2023-10-12 11:17:00 3 3/4/2005 2023-10-12 13:00:00 4 1/24/1998 2023-10-12 16:47:00>

出力に示されているように、今日の日付 (2018-07-07) が Date time オブジェクトとともにすでに追加されています。