將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中文網其他相關文章!