說我有其索引排列如下兩個時間序列:索引在對準時間序列索引重複的
import numpy as np
t1_ind = np.array([ 1, 1, 1, 2, 3, 4, 5, 5, 6])
t2_ind = np.array([20, 21, 22, 23, 23, 24, 25, 26, 27])
這意味着該索引的t1
1與索引20,21和t2
22對準(意味着在前三個增量中t1
比t2
快)等等。
預期輸出應爲:
y = np.array(([ 1, 2, 4, 5, 6],
[20, 23, 24, 25, 27]))
的邏輯是「掃描」 t1_ind
和t2_ind
和標記兩者發病和偏移每重複段的。在此示例中,條目1
在t1_ind
之後是其副本,所以起始對記錄在y[:,0]
中,並且相應的偏移對是y[:,1]
。 t1_ind
中的下一個重複段分別以y[:,3]
和y[:,4]
開始和結束。 t2_ind
以同樣的方式完成,結果對是y[:,1]
(不會被記錄兩次)和y[:,2]
。在我看來,類似於重複刪除問題,但我不知道如何。
對不起,對於我來說,想想一個合適的標題並簡單地解釋邏輯是相當困難的。謝謝你的幫助。
應該在'不* 3 * t1_ind'留? – Psidom
@Psidom 3不重複,並且不標記偏移量(對於't2_ind'中的23,[4,24]) – Francis