【问题标题】:Python Data Frame Time DeltaPython 数据帧时间增量
【发布时间】:2018-02-20 06:24:01
【问题描述】:

我目前遇到一个问题,我想现在是时候寻求一些帮助/建议了。我目前有一个数据框,其中有一个名为 Created_On 的列,其中包含一个 DateTime。我的目标是弄清楚自上一行以来已经过去了多少秒。

我已经运行了下面的代码,但由于某种原因,它给我的秒数已经过时了。下面的代码输出一个数据帧,其中包含一个名为 TimeDiff 的附加列,其中包含以秒为单位的差异(如果有)。

             Created_On                                 
 1. 2014-12-08 03:29:08                    
 2. 2014-12-08 03:29:08                 
 3. 2015-02-09 00:10:01    

输出

Time_Diff

 1. 0.0
 2. 0.0
 3. 74453.0

代码:

Golden['TimeDiff'] = Golden.CREATED_ON.diff().dt.seconds

【问题讨论】:

    标签: python pandas datetime dataframe data-science


    【解决方案1】:

    您正在寻找的IIUCSeries.dt.total_seconds()

    In [45]: Golden['TimeDiff'] = Golden.CREATED_ON.diff().dt.total_seconds()
    
    In [46]: Golden
    Out[46]:
               CREATED_ON   TimeDiff
    0 2014-12-08 03:29:08        NaN
    1 2014-12-08 03:29:08        0.0
    2 2015-02-09 00:10:01  5431253.0
    

    【讨论】:

    • 非常感谢您在代码和格式方面的帮助。我将在我的下一个代码参考中使用它作为主要示例。
    • @victoraguilar,不客气! :) 如果您认为 accepting 回答了您的问题,请考虑回答
    【解决方案2】:

    https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.dt.seconds.html

    pandas.Series.dt.seconds
    Series.dt.seconds
    Number of seconds (>= 0 and *less than 1 day*) for each element.
    

    [强调添加]

    这需要秒数以一天中的秒数为模。因此,在这种情况下,它为您提供前一天 00:10:01 和 03:29:08 之间的差异,即 74453.0 秒。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多