Reputation: 147
I have two columns, Picking End Time and Picking Start Time.
First I converted them to datetime
data['Picking Start Time'] = pd.to_datetime(data['Picking Start Time'])
data['Picking End Time'] = pd.to_datetime(data['Picking End Time'])
After that I wanted to see the picking time
data['Picking Time'] = data['Picking End Time'] - data['Picking Start Time']
To strip the date and have just the time I used
data['Picking Time'] = data['Picking Time'].astype(str).map(lambda x: x[7:])
Now, my next challenge is to transform the Picking Time into Decimal Time, but I cannot find anything that can help.
Upvotes: 1
Views: 1172
Reputation: 863226
First remove:
data['Picking Time'] = data['Picking Time'].astype(str).map(lambda x: x[7:])
Use Series.dt.total_seconds
and if necessary divide by scalar 60
or 3600
:
#seconds
data['Picking Time'] = data['Picking Time'].dt.total_seconds()
#minutes
data['Picking Time'] = data['Picking Time'].dt.total_seconds() / 60
#hours
data['Picking Time'] = data['Picking Time'].dt.total_seconds() / 3600
Upvotes: 1