Pandas : récupérer les données d'une liste suivant une fréquence donnée
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:
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 !