Вычислить разницу во времени между временами со столбцом смещения времени - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть кадр данных со следующей информацией:

         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 Ответ

1 голос
/ 24 апреля 2020

Вы можете попробовать следующий метод:

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

Вы конвертируете свои столбцы смещения в дельты времени, а затем можете добавить их в свои столбцы даты и времени.

...