[英]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.