zad*_*00b 3 numpy dataframe pandas
如何减去两列之间的时间并将其转换为分钟
Date Time Ordered Time Delivered
0 1/11/19 9:25:00 am 10:58:00 am
1 1/11/19 10:16:00 am 11:13:00 am
2 1/11/19 10:25:00 am 10:45:00 am
3 1/11/19 10:45:00 am 11:12:00 am
4 1/11/19 11:11:00 am 11:47:00 am
Run Code Online (Sandbox Code Playgroud)
我想减去 Time_delivered - Time_ordered 以获得交付所需的分钟数。
df.time_ordered = pd.to_datetime(df.time_ordered)
Run Code Online (Sandbox Code Playgroud)
这不会输出正确的时间,而是将今天的日期添加到时间
将两个时间列转换为日期时间,获得差异,转换为秒Series.dt.total_seconds,然后通过除法转换为分钟60:
df['diff'] = (pd.to_datetime(df.time_ordered, format='%I:%M:%S %p')
.sub(pd.to_datetime(df.time_delivered, format='%I:%M:%S %p'))
.dt.total_seconds()
.div(60))
Run Code Online (Sandbox Code Playgroud)