Faire un boucle sur des sous parties d'un dataframe python
Résolu
Bonjour,
Je dispose d'un dataframe de 43200 données et je dois traiter seulement les données par bloc de 1008 lignes (le traitement consiste pour chaque bloc à faire le max moins le min pour 3 colonnes différentes et de récupérer la valeur) sauf que je vois pas du tout comment m'y prendre pour faire l'itération ...
Merci
Je dispose d'un dataframe de 43200 données et je dois traiter seulement les données par bloc de 1008 lignes (le traitement consiste pour chaque bloc à faire le max moins le min pour 3 colonnes différentes et de récupérer la valeur) sauf que je vois pas du tout comment m'y prendre pour faire l'itération ...
Merci
Configuration: Windows / Firefox 87.0
A voir également:
- Faire un boucle sur des sous parties d'un dataframe python
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Citizen code python avis - Accueil - Outils
- Comment faire un post instagram en 3 parties - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Ce programme est écrit en python il construit un mot secret ✓ - Forum Python
2 réponses
Bonjour,
Tu pourrais mettre en œuvre 2 boucles,
la premiere sur la liste globale avec un indice qui avance par pas de 1008 : 0,1008,2016 ...
la seconde qui qui traite 1008 enregistrements à partir de l'indice de la première boucle
avec un soucis à traiter : 43200 n'est pas un multiple de 1008
Tu pourrais mettre en œuvre 2 boucles,
la premiere sur la liste globale avec un indice qui avance par pas de 1008 : 0,1008,2016 ...
la seconde qui qui traite 1008 enregistrements à partir de l'indice de la première boucle
avec un soucis à traiter : 43200 n'est pas un multiple de 1008
Bonjour,
Tu peux appliquer la méthode proposée dans cette discussion :
Note qu'il n'est pas nécessaire de ce demander si la taille de la dataframe de départ est un multiple de la taille du batch.
Bonne chance
Tu peux appliquer la méthode proposée dans cette discussion :
import numpy as np import pandas as pd # Create a dataframe of size 10 test = pd.Series(np.random.rand(10)) print(test) # Process rows by batch of size 3 n = 3 for (g, df) in test.groupby(np.arange(len(test)) // n): print(df.shape) print(df)
Note qu'il n'est pas nécessaire de ce demander si la taille de la dataframe de départ est un multiple de la taille du batch.
Bonne chance