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