Comment diviser une grande trame de données Pandas en plusieurs parties lorsque le nombre de lignes n'est pas uniformément divisible ?

Mary-Kate Olsen
Libérer: 2024-10-27 04:13:30
original
714 Les gens l'ont consulté

How to Split a Large Pandas Dataframe into Multiple Parts When the Number of Rows is Not Evenly 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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!