假设我有以下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

显然,我可以做一些循环,并手动改变,但我怀疑这不是一个蟒蛇的方式熊猫有什么功能可以简化这个过程吗?

最佳答案

这将使您获得以秒为单位的总差异(也就是,计算日期的差异):

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

关于python - 计算 Pandas 日期时间列的累积持续时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49853295/

10-09 07:51
查看更多