Python数据帧时间增量

时间:2017-09-11 22:50:09

标签: python pandas datetime dataframe data-science

我目前遇到了一个问题,现在想知道是时候要求一些帮助/建议了。我目前有一个数据框,其中有一个名为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

2 个答案:

答案 0 :(得分:2)

IIUC您正在寻找Series.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

答案 1 :(得分:0)

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秒。