2016-11-11 60 views
1

我有一个带时间戳的数据(pandaframe),现在我想要在每个条目之间获得平均时间间隔。获得它的任何两个连续的条目,但什么是获得所有条目之间的平均时间间隔的最佳方式。Python在熊猫帧的不同条目中获取平均时间间隔

 Polling Timestamp    MAC  
0 2016-11-10T02:04:00.000Z 00:04:56:CD:7D:17  
1 2016-11-10T02:09:00.000Z 00:04:56:CD:7D:17  
2 2016-11-10T02:14:00.000Z 00:04:56:CD:7D:17  

编辑 所以我可以处理这样的数据(该值只是样品,请不要与实际数据的时间戳共涉及)

[100, 200, 300, 500]

我想得到所有的平均值n+1 - n其中n的范围从0 to len(<list-2)

我可以通过创建一个更多的中间列表来完成它

[100, 100, 200]然后申请的意思。 是它的方式还是有做

+0

你想拥有的平均所有可能的条目对之间或连续条目之间的时间? – jotasi

+0

连续条目 –

+0

你的'Polling Timestamp'列的'dtype'是什么? – jotasi

回答

0

这里更好的方式来做到这一点的一种方法:

import numpy as np 
import datetime 

# Initializing values 
datetimeList = [] 
datetimeList.append(datetime.datetime.strptime('2016-11-10T02:04:00', "%Y-%m-%dT%H:%M:%S")) 
datetimeList.append(datetime.datetime.strptime('2016-11-10T02:09:00', "%Y-%m-%dT%H:%M:%S")) 
datetimeList.append(datetime.datetime.strptime('2016-11-10T02:14:00', "%Y-%m-%dT%H:%M:%S")) 
datetimeList.append(datetime.datetime.strptime('2016-11-10T02:16:00', "%Y-%m-%dT%H:%M:%S")) 
datetimeList.append(datetime.datetime.strptime('2016-11-10T02:20:00', "%Y-%m-%dT%H:%M:%S")) 
datetimeList.append(datetime.datetime.strptime('2016-11-10T02:30:00', "%Y-%m-%dT%H:%M:%S")) 
datetimeList.append(datetime.datetime.strptime('2016-11-10T03:16:00', "%Y-%m-%dT%H:%M:%S")) 
datetimeList.append(datetime.datetime.strptime('2016-11-10T03:20:00', "%Y-%m-%dT%H:%M:%S")) 
datetimeList.append(datetime.datetime.strptime('2016-11-10T03:30:00', "%Y-%m-%dT%H:%M:%S")) 

timeDiff = 0 
for i1,i2 in zip(np.arange(0,len(datetimeList)-1), np.arange(1,len(datetimeList))): 
    # minutes get converted to seconds for datetime.timedelta 
    # Add time differences (which are in seconds) 
    timeDiff += (datetimeList[i2] - datetimeList[i1]).seconds 

# Taking average 
timeDiff = timeDiff/(len(datetimeList)-1) 

产出秒:

In []: timeDiff 
Out[]: 645 
相关问题