说我有其索引排列如下两个时间序列:索引在对准时间序列索引重复的
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