我有兩個數據流,都是一系列(時間戳,值)元組。 即:如何在Python中的數據流之間切換熊貓人
[(2013-04-03T22:16:36+0000, 2334.5), (2013-04-03T22:46:36+0000, 43543.23), ...]
的想法是,這些人會被「優選」和一個沒有了,我想創建一個單一的時間序列即當可用的更高的優先級流的結果,並回落到當不是最不優選的流時。
我的想法是將來自兩個流的值的時間戳放入桶中,並使用桶作爲DataFrame的索引,併爲每個流使用一列,並在每個桶中使用一列(時間戳,值)元組。然後,我可以通過每桶,並選擇具有最高點數的例如。
數據幀將是這個樣子:
timestamp stream1 stream2
2013-04-03 00:00:00 [(2013-04-03T00:16:36+0000, 2334.5), [(2013-04-03T00:17:36+0000, 2314.5)]
(2013-04-03T00:17:36+0000, 2314.5)]
2013-04-03 00:30:00 [(2013-04-03T00:43:44+0000, 43543.23), [(2013-04-03T00:47:36+0000, 2364.5)]
(2013-04-03T00:54:24+0000, 4443.23)]
2013-04-03 01:00:00 [] [(2013-04-03T01:01:30+0000, 34.34)]
2013-04-03 01:30:00 [(2013-04-03T01:35:32+0000, 238734.3)] [(2013-04-03T01:45:32+0000, 238734.3)]
在這種情況下,時間戳已投入半小時桶,並且流1是首選流。對於00:00的桶,將選擇stream1中的兩個點,對於00:30的桶,將選擇流1中的兩個點,對於01:00的桶,stream2中的單個點將被選擇爲stream1沒有數據,對於01:30的桶,將選擇stream1中的單個數據點,因爲它是首選流。
我該怎麼做呢?我試圖創建數據幀並使用resample('h', how='count')
拆分爲小時計數,並使用groupby
,但無法將時間戳完全放入存儲桶中,併爲每個存儲桶的每個流創建值列表。