加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 计算pandas datetime列的累积持续时间

发布时间:2020-12-20 11:03:54 所属栏目:Python 来源:网络整理
导读:假设我有以下pandas数据帧 df = pd.DataFrame ({'time': ['2014-05-01 18:47:05','2014-05-01 18:47:06','2014-05-02 18:47:08','2014-05-02 18:47:10','2014-05-02 18:47:11']})df['time'] = pd.to_datetime(df['time']) 这给出了以下数据帧 time0 2014-05-
假设我有以下pandas数据帧

df = pd.DataFrame ({'time': ['2014-05-01 18:47:05','2014-05-01 18:47:06','2014-05-02 18:47:08','2014-05-02 18:47:10','2014-05-02 18:47:11']})
df['time'] = pd.to_datetime(df['time'])

这给出了以下数据帧

time
0 2014-05-01 18:47:05
1 2014-05-01 18:47:06
2 2014-05-02 18:47:08
3 2014-05-02 18:47:10
4 2014-05-02 18:47:11

我想添加另一列,以秒为单位计算时间列的持续时间,如下所示

time                   duration
0 2014-05-01 18:47:05          0
1 2014-05-01 18:47:06          1 
2 2014-05-02 18:47:08          3 
3 2014-05-02 18:47:10          5
4 2014-05-02 18:47:11          6

显然,我可以做一些循环并手动改变,但我怀疑这不是一个pythonic方式.大熊猫中是否有任何可以简化此过程的功能?

解决方法

这将获得以秒为单位的总差异(即计算日期差异):

df['duration'] = pd.to_timedelta(
                     df['time'] - df['time'][0]
                   ).astype('timedelta64[s]')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读