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

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

         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

所以我的问题是,一方面要把偏移列转换为可以用于时间计算的格式,另一方面又要如何有效地计算时间长度。

由于我想将时间持续时间用于数据科学计算(梯度提升),如果您能建议一种可以立即插入算法的持续时间格式,那将是非常好的。

解决方案:

您可以尝试以下方法。

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"]

把偏移量列转换成时间delta,然后把它添加到日期时间列中。

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何使用python在csv中覆盖一条具有相同主键的新行?

2022-9-9 5:41:20

未分类

如何创建一个包含日期和时间的列表的pd.DatatimeIndex?

2022-9-9 5:52:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索