Maison >développement back-end >Tutoriel Python >Comment diviser une grande trame de données Pandas en plusieurs parties lorsque le nombre de lignes n'est pas uniformément divisible ?
Diviser les grandes trames de données Pandas en plusieurs parties
Lorsque vous travaillez avec des ensembles de données volumineux, il devient souvent nécessaire de les diviser en morceaux plus petits et gérables. Cela peut améliorer les performances, améliorer l’utilisation de la mémoire et faciliter le traitement parallèle. Dans cet article, nous aborderons un problème rencontré lors de la tentative de fractionnement d'un grand dataframe pandas à l'aide de np.split().
Comprendre le problème
Le code fourni L'extrait a utilisé np.split() pour partitionner une trame de données en quatre sous-groupes. Cependant, cela a entraîné une ValueError en raison d’une division inégale. Cette erreur survient lorsque le nombre d'éléments dans le dataframe n'est pas divisible de manière égale par le nombre de divisions souhaité.
Solution : Utiliser np.array_split()
Pour surmonter Pour relever ce défi, nous utilisons np.array_split(), une alternative plus polyvalente à np.split(). Comme l'indique sa documentation, array_split() permet une division non égale, ce qui le rend adapté à des situations comme la nôtre.
Implémentation
Voici un exemple de code Python utilisant np. array_split() pour diviser la trame de données en quatre parties :
<code class="python">import pandas as pd import numpy as np # Create a sample dataframe df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'], 'C': np.random.randn(8), 'D': np.random.randn(8)}) # Split the dataframe into four groups using array_split groups = np.array_split(df, 3) # Print the split groups for group in groups: print(group)</code>
Cela partitionnera efficacement la trame de données en trois groupes à peu près de taille égale. Chaque groupe est accessible et traité indépendamment, répondant ainsi au défi initial de la division inégale.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!