熊猫中两列之间的时差

问题描述 投票:0回答:2

如何减去两列之间的时间并将其转换为分钟

enter image description here

我想减去已交付的时间-已排序的时间,以获取交付所需的时间。

df.time_ordered = pd.to_datetime(df.time_ordered)

这不会输出正确的时间,而是将今天的日期添加为时间

pandas numpy dataframe
2个回答
2
投票

将两个时间列都转换为日期时间,求出差,用Series.dt.total_seconds转换为秒,然后除以Series.dt.total_seconds转换为分钟:

60

0
投票

尝试to_datetime()

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))

输出:

df = pd.DataFrame([['9:25:00 AM','10:58:00 AM']],
                  columns=['time1', 'time2'])

print(pd.to_datetime(df.time2)-pd.to_datetime(df.time1))
© www.soinside.com 2019 - 2024. All rights reserved.