我有一个 Dataframe ,其中有多个日期列的行。日期列有日期和时间。不是每一行都有增量时间,所以我想在每一行之后计算当前日期和前一个日期之间的时间差(以秒为单位)。
import pandas as pd
data = pd.date_range('1/1/2011', periods = 10, freq ='H')
在上面的代码片段中,每一步之后的时间差是1hr,这意味着3600秒,所以我想要一个具有[(<prev date time>, <current_datetime>, <time_difference>),.....]
的元组列表。
3条答案
按热度按时间vxf3dgd41#
在这种情况下,将
list
与zip
配合使用,并计算与tolal_seconds
的时间差:注:如果您操作 * Dataframe *,则需要将
data
替换为df["date_column"]
。输出:
nx7onnlm2#
您可以通过使用Pandas中的
diff
函数计算数据列中连续行之间的时间差来实现这一点。df
:result
:bvjveswy3#
使用列表解析可以做到这一点。
[:-1]
是必需的,因为我们只使用shift就可以得到一个包含10个区间的列表,但是N个点之间有N-1个区间。