我正在寻找在较长的pandas系列中查找不同长度的值序列的最佳方法。例如,我有值[92.6, 92.7, 92.9]
(但也可以是长度2或5),并希望查找在较长的系列中出现此确切序列的所有情况
s = pd.Series([92.6,92.7,92.9,24.2,24.3,25.1,24.9,25.1,24.9,97.6,94.5,1.0,92.6,92.7,92.9,97.9,96.8,96.4,92.8,92.8,93.1,89.5,89.6])
(实际系列长度约为1000)。
在这个例子中,正确的结果应该是索引0,1,2
和12,13,14
。
1条答案
按热度按时间k4emjkb11#
使用
rolling
标识每个拉伸的最后一行:输出:
[2, 14]
对于所有指数:
输出:
或者,使用numpy的
sliding_window_view
,给出起始索引:输出:
array([ 0, 12])
对于所有指数:
输出:
array([ 0, 1, 2, 12, 13, 14])