首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算两个日期时间值之间的持续时间(分钟)

如何计算两个日期时间值之间的持续时间(分钟)
EN

Stack Overflow用户
提问于 2021-03-22 18:52:09
回答 2查看 122关注 0票数 2

这是我的数据。我想在新列中计算这两个日期时间值之间的差异(分钟)。

代码语言:javascript
复制
 Start date           End date  
    11/30/2011 23:58    12/01/2011 0:26
    11/30/2011 23:56    12/01/2011 0:01
    11/30/2011 23:18    11/30/2011 23:36

23:36

我试着得到了这个:df['trip_duration] = pd.to_datetime(df['Start date']) - pd.to_datetime(df['End date'])

代码语言:javascript
复制
0 -1 days +23:32:00
1 -1 days +23:55:00
2 -1 days +23:42:00

怎样才能像我前面提到的那样,以分钟为单位得到差异呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-22 19:00:59

api对于某些日期时间的内容并不是非常直观的。你可以用这个:

代码语言:javascript
复制
df['trip_duration'] = pd.to_timedelta(df['End date'] - df['Start date']).dt.seconds/60
票数 0
EN

Stack Overflow用户

发布于 2021-03-22 19:32:00

首先,确保您的日期列已经是日期时间格式:

代码语言:javascript
复制
df['Start date'] = pd.to_datetime(df['Start date'])
df['End date'] = pd.to_datetime(df['End date'])

然后,您可以通过直接减法得到两列的时间差,然后除以pd.Timedelta('1 minute'),如下所示:

代码语言:javascript
复制
df['trip_duration'] = (df['End date'] - df['Start date']) / pd.Timedelta('1 minute')

由此产生的df:

代码语言:javascript
复制
           Start date            End date  trip_duration
0 2011-11-30 23:58:00 2011-12-01 00:26:00           28.0
1 2011-11-30 23:56:00 2011-12-01 00:01:00            5.0
2 2011-11-30 23:18:00 2011-11-30 23:36:00           18.0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66752174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档