在資料分析中,經常需要計算兩個日期或時間戳之間的時間差。 Pandas 是 Python 中流行的資料分析函式庫,為此類計算提供了便捷的方法。但是,當時差超過 24 小時時,結果可能會包含天數。本文介紹如何將此結果轉換為僅顯示小時和分鐘。
考慮以下包含兩列(fromdate 和todate)的範例資料框:
import pandas as pd data = {'todate': [pd.Timestamp('2014-01-24 13:03:12.050000'), pd.Timestamp('2014-01-27 11:57:18.240000'), pd.Timestamp('2014-01-23 10:07:47.660000')], 'fromdate': [pd.Timestamp('2014-01-26 23:41:21.870000'), pd.Timestamp('2014-01-27 15:38:22.540000'), pd.Timestamp('2014-01-23 18:50:41.420000')]} df = pd.DataFrame(data)
計算兩者之間的差異日期,我們可以使用- 運算子:
df['diff'] = df['fromdate'] - df['todate']
此操作會產生diff 列,其中包含datetime.timedelta 物件。但是,這些物件可能包含天作為一個組成部分,如以下輸出所示:
todate fromdate diff 0 2014-01-24 13:03:12.050 2014-01-26 23:41:21.870 2 days 10:38:09.820000 1 2014-01-27 11:57:18.240 2014-01-27 15:38:22.540 0 days 03:41:04.300000 2 2014-01-23 10:07:47.660 2014-01-23 18:50:41.420 0 days 08:42:53.760000
要將此結果轉換為僅小時和分鐘,我們可以使用帶有'timedelta64[ 的astype()方法h]'參數:
(df.fr-df.to).astype('timedelta64[h]')
此程式碼會將時間差轉換為小時,產生以下結果輸出:
0 58 1 3 2 8 dtype: float64
透過應用此方法,我們可以獲得兩個日期或時間戳記之間以小時和分鐘為單位的時間差,不論差值是否超過24 小時。
以上是如何計算兩個 Pandas 列之間的時間差(僅以小時和分鐘為單位)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!