2016-11-11 57 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 
相關問題