首頁  >  文章  >  後端開發  >  如何使用 pd.to_datetime() 有效組合 Pandas 中的日期和時間列?

如何使用 pd.to_datetime() 有效組合 Pandas 中的日期和時間列?

DDD
DDD原創
2024-11-16 14:01:03316瀏覽

How to efficiently combine date and time columns in Pandas with pd.to_datetime()?

將Pandas 中的日期和時間列與pd.to_datetime() 組合

在Pandas 中處理日期和時間時,通常有必要將單獨的欄位組合成單一日期時間物件。一種方法是使用 pd.to_datetime() 函數。

問題陳述

考慮一個包含「日期」和「時間」欄位的資料框,如下所示:

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

我們的目標是將這兩個欄位合併為一個「日期和」

使用字串連接的解決方案

一種方法是將「日期」和「時間」列連接為字串,然後將結果字串轉換為使用pd.to_datetime() 的datetime 物件:

result = pd.to_datetime(df['Date'] + ' ' + df['Time'])

這會將連接的字串轉換為一系列日期時間物件。

解決方案使用format 參數

或者,您可以使用pd.to_datetime() 的format 參數來指定組合的確切格式string:

result = pd.to_datetime(df['Date'] + df['Time'], format='%m-%d-%Y %H:%M:%S')

這種方法比前一種方法更快,特別是在處理大型數據時

性能比較

使用%%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')

第二種對於大型資料集,使用格式參數的方法明顯更快。

以上是如何使用 pd.to_datetime() 有效組合 Pandas 中的日期和時間列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn