Bonjour à vous!

Je souhaites pouvoir obtenir, à partir d'une série de 'n' éléments, plusieurs séries contenant les éléments de la première, décalés d'un certain offset.
comme ça ne me semble pas plus clair que le titre, voici un bout de code qui fait ceci avec des listes "core python":

Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
 
def sub_list(data:list(), offset:int) -> list(list()) :
 
    ret = list()
 
    for i in range(offset):
        res = list()
        j = i
        while j+offset < len(data):
            res.append(data[j])
            j = j+offset
 
        ret.append(res.copy())
 
 
    return ret
 
 
data = list(range(0,27))
ret = sub_list(data, 3)
 
print(ret)

Techniquement, ce bout de code devrait fonctionner en stand-allone (en tout cas il marche chez moi).

Cependant, j'utilise la bibliothèque "Pandas", que j'utilise pour le traitement de séries temporelles, et je me demande donc s'il n'existe pas un moyen plus efficace qu'une fonction telle que donnée ci-dessus pour réaliser la chose ? Bien-entendu, il existe des solutions pour les séries temporelles, mais je voudrais avoir une variante moins indépendante du type d'index à disposition.

Any clue ?

Merci et bonne journée !