使用时间偏移列计算时间之间的时差

时间:2020-04-24 12:13:12

标签: python python-3.x pandas dataframe python-datetime

我有一个包含以下信息的数据框:

         Departure Time  Offset Dep  Arrival Time   Offset Arr
0          07:10           +01:00        08:25         +01:00
1          09:05           +01:00        10:10         +01:00
2          10:50           +01:00        12:05         +01:00
3          11:55           +01:00        14:15         +00:00
4          14:55           +02:00        18:40         +01:00


df.dtypes

Departure Time      object
Offset Departure    object
Arrival Time        object
Offset Arrival      object
dtype: object

我想计算持续时间:到达时间+偏移Arr-出发时间-偏移Dep

我首先尝试将它们全部转换为时间格式,但是我只能使用实际时间,而不能使用时间偏移量:

df["Arrival Time"] = pd.to_datetime(df ["Arrival Time"]).dt.time
df["Departure Time"] = pd.to_datetime(df ["Departure Time"]).dt.time

所以我的问题是一方面将偏移量列转换为我可以用于时间计算的格式,然后如何有效地计算持续时间。

由于我想将持续时间用于数据科学计算(梯度增强),因此,如果您建议可以立即插入算法的持续时间格式,那就太好了。

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

import pandas as pd
import datetime

#date time 
df["Departure Time"] = pd.to_datetime(df["Departure Time"])
df["Arrival Time"] = pd.to_datetime(df["Arrival Time"])

#time delta
df["Offset Dep"]=pd.to_timedelta(df["Offset Dep"], unit='hour')
df["Offset Arr"]=pd.to_timedelta(df["Offset Arr"], unit='hour')


df["Time Duration"]= df["Arrival Time"] + df["Offset Dep"] - df["Departure Time"] - df["Offset Dep"]

您将偏移量列转换为时间增量,然后可以将其添加到日期时间列中。

相关问题