所有資料在開始時都會自動分配一個「DOB」(出生日期)。因此,在某些時候處理資料時不可避免地會遇到日期和時間資料。本教學將帶您了解 Python 中的 datetime 模組以及使用一些外圍函式庫,如pandas 和 pytz。
在 Python 中,任何與日期和時間有關的事情都由 datetime 模組處理,它將模組進一步分為 5 個不同的類別。類別只是與物件相對應的資料類型。下圖總結了 Python 中的 5 個日期時間類別以及常用的屬性和範例。
由於日期和時間的字母數字性質,將類似的日期和時間解析為 Python 通常會被解釋為字串。在本節中,我們將介紹如何將字串清單解析為日期時間格式,以及如何將日期和時間資料拆分和組合到資料框中的各個欄位中。
的列印輸出
片段1 的列印輸出但是,如果日期時間以不尋常或模稜兩可的方式格式化怎麼辦?一個常見的問題是美國和歐洲的日期時間書寫方式之間的區別。在美式格式中,月份在前,而在歐洲樣式中,日期在前。
預設情況下,pandas 中的 to_datetime 透過將前一個少於 12 位元 (
或者, strftime() 方法有助於在傳回字串之前格式化日期時間。在以下範例中,原始日期時間之間的破折號 (-) 替換為反斜線 (/),數字月份 (02) 替換為縮寫的英語術語 (Feb)。
由於有多種方法可以解釋日期(日、月、年)和時間(時、分、秒),因此了解不同的格式代碼至關重要。下表是常用格式代碼的備忘單。2.使用時區
沒有時區資訊的datetime 物件稱為“naive”,有時區資訊的物件(通常在結尾帶有HH :MM 對應GMT)被認為是「aware」。 pytz 可能是 Python 中最全面的函式庫之一,它簡化了時區運算的任務。以下程式碼片段將向您展示如何在「naive」和「aware」 datetime 物件之間進行轉換,並可以使用不同的時區。程式碼的最後一部分也示範如何將給定的日期時間物件轉換為本地時區。此範例顯示了日本和德國的時區代碼,對於其他地區,您可以在此處參考。
片段2的輸出
3.使用interval比較兩個datetime(s)
有時我們必須有條件地比較兩個日期時間。想像一下,您有兩個資料框,第一個資料框僅包含一列日期時間,第二個資料框包含兩列表示間隔和其餘列中的其他資訊。您的目標是從第一個資料幀中找到匹配的日期時間,如果它落在第二個資料幀的間隔內,如果是,則複製其他列。
實現此目的的一種方法是使用pd.Interval 壓縮兩個日期時間的間隔,然後將它們指派為資料框的索引,稍後可用於有條件地比較和映射日期時間。如果滿足時間條件,這可以透過使用 for 迴圈複製感興趣的列來完成。
###############原文:https://towardsdatascience.com/how-to-work-with-datetime-in-python-26d4092dc484###以上是如何在 Python 中使用 DateTime的詳細內容。更多資訊請關注PHP中文網其他相關文章!