I am trying to find the difference between 2 time and dates and result to be in a new column from a csv file(df).. Appreciate any help here..
elif file_path.endswith(".csv"):
df = pd.read_csv(file_path)
break
else:
df = pd.read_excel(file_path, engine="openpyxl")
break
# Transformations
df["open_time"] = np.where(
(
pd.to_datetime(df["Date/Time Opened"]).dt.date
+ pd.DateOffset(hours=17)
- pd.to_datetime(df["Date/Time Opened"])
).dt.total_seconds()
I am trying to find the difference between 2 time and dates and result to be in a new column from a csv file(df).. Appreciate any help here..
elif file_path.endswith(".csv"):
df = pd.read_csv(file_path)
break
else:
df = pd.read_excel(file_path, engine="openpyxl")
break
# Transformations
df["open_time"] = np.where(
(
pd.to_datetime(df["Date/Time Opened"]).dt.date
+ pd.DateOffset(hours=17)
- pd.to_datetime(df["Date/Time Opened"])
).dt.total_seconds()
This is a typing issue - you just need to convert them to date time and then you can do the date math...
df["Date/Time Opened"] = pd.to_datetime(df["Date/Time Opened"])
df["Date/Time Closed"] = pd.to_datetime(df["Date/Time Closed"])
df["Duration (hours)"] = (df["Date/Time Closed"] - df["Date/Time Opened"]).dt.total_seconds() / 3600
Dates are stored in seconds, so the divide by 3600 is simply converting the seconds of the datetime fields into days in this instance.
Make sense?