繁体   English   中英

在Python中查找列表之间的日期时间差异

[英]Finding datetime difference between lists in python

我是python的新手。 我看着前面的线程像这样这个 我创建了这样的一系列日期和时间:

tp1=[]
for f in files: ### files is the variable that has all the files I need to read in this loop
 t=f[-19:-5] ### these characters in the filename correspond to the date and time
 tp1.append(datetime.strptime(t,"%Y%m%d%H%M%S"))
time_p1_cr=pd.to_datetime(pd.Series(tp1), format='%Y-%m-%d %H:%M:%S')

tp1看起来像:

[datetime.datetime(2018, 8, 1, 16, 6, 39),

datetime.datetime(2018, 8, 2, 17, 16, 37),

datetime.datetime(2018, 8, 3, 10, 53, 46),

datetime.datetime(2018, 8, 3, 17, 14, 39),

datetime.datetime(2018, 8, 4, 11, 21, 36),

datetime.datetime(2018, 8, 4, 17, 27, 54),

等等。 time_p1_cr看起来像:

0    2018-08-01 16:06:39

1    2018-08-02 17:16:37

2    2018-08-03 10:53:46

3    2018-08-03 17:14:39

等等。 我需要找到列表元素之间的连续差异。 我基本上需要时差。 我做不到

t2=tp1[1:]
t3=tp1[:-1]
t4=t3-t2

因为t2和t3是列表,我不能减去列表。

所以,我尝试了

test1=time_p1_cr[1:]
test2=time_p1_cr[:-1]
test3=test1.subtract(test2) 

根据 但是事实证明test3是

测试3

0       NaT

1    0 days

2    0 days

3    0 days

4    0 days

5    0 days

6    0 days

7    0 days

等等。 如何获得连续元素之间的时间差?

您可以使用列表推导来执行此操作。 例如:

differences = [t2 - t1 for t1,t2 in zip(time_p1_cr[:-1], time_p1_cr[1:])]

这将为您提供datetime.timedelta列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM