Pandas の日付と時刻の列を pd.to_datetime() と組み合わせる
Pandas で日付と時刻のデータを操作する場合、多くの場合、これが必要になります。別々の列を単一の日時オブジェクトに結合します。これを行う 1 つの方法は、pd.to_datetime() 関数を使用することです。
問題ステートメント
次のように、「Date」列と「Time」列を持つデータフレームを考えます。以下に示す:
Date Time 01-06-2013 23:00:00 02-06-2013 01:00:00 02-06-2013 21:00:00 02-06-2013 22:00:00 02-06-2013 23:00:00 03-06-2013 01:00:00 03-06-2013 21:00:00 03-06-2013 22:00:00 03-06-2013 23:00:00 04-06-2013 01:00:00
私たちの目標は、これら 2 つの列を 1 つの「日付と」に結合することです。
文字列連結を使用した解決策
1 つの方法は、'Date' 列と 'Time' 列を文字列として連結し、結果の文字列を文字列に変換することです。 pd.to_datetime() を使用した datetime オブジェクト:
result = pd.to_datetime(df['Date'] + ' ' + df['Time'])
これは、
format パラメータを使用した解決策
または、pd.to_datetime() の format パラメータを使用して、正確な形式を指定することもできます。結合された文字列の:
result = pd.to_datetime(df['Date'] + df['Time'], format='%m-%d-%Y %H:%M:%S')
このアプローチは、特に大規模な文字列を扱う場合、前のアプローチよりも高速です。 datasets.
パフォーマンスの比較
%%timeit マジック コマンドを使用すると、両方のアプローチのパフォーマンスを比較できます。
df = pd.concat([df for _ in range(1000000)]).reset_index(drop=True) %timeit pd.to_datetime(df['Date'] + ' ' + df['Time']) %timeit pd.to_datetime(df['Date'] + df['Time'], format='%m-%d-%Y %H:%M:%S')
2 番目format パラメーターを使用したアプローチは、大規模なデータセットの場合に大幅に高速になります。
以上がpd.to_datetime() を使用して Pandas の日付と時刻の列を効率的に組み合わせるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。