Maison > développement back-end > Tutoriel Python > Comment diviser efficacement de grands DataFrames Pandas en sections non égales ?

Comment diviser efficacement de grands DataFrames Pandas en sections non égales ?

Mary-Kate Olsen
Libérer: 2024-10-26 22:24:29
original
340 Les gens l'ont consulté

How to Efficiently Split Large Pandas DataFrames into Non-Equal Sections?

Diviser les grands dataframes Pandas

Lorsque vous travaillez avec de grands ensembles de données dans Pandas, il est souvent nécessaire de diviser le dataframe en morceaux plus petits pour le traitement ou distribution. Cependant, l'utilisation directe de np.split peut entraîner une erreur si le tableau ne peut pas être divisé de manière égale.

Utilisation de np.array_split

La fonction np.array_split fournit une fonction plus approche flexible pour diviser les tableaux, y compris les trames de données, en sections. Contrairement à np.split, il permet au nombre de sections d'être un nombre entier qui ne divise pas uniformément l'axe.

Considérons l'exemple suivant avec une trame de données contenant 423244 lignes, que nous souhaitons diviser en 4 groupes :

<code class="python">In [1]:
import pandas as pd

In [2]:
df = pd.DataFrame({
    'A': ['foo', 'bar', 'foo', 'bar'],
    'B': ['one', 'one', 'two', 'three'],
    'C': np.array([rand() for i in range(4)]),
    'D': np.array([rand() for i in range(4)])
})

In [3]:
print(df)</code>
Copier après la connexion

Pour diviser le dataframe en 4 groupes à l'aide de np.array_split, nous pouvons :

<code class="python">In [4]:
import numpy as np

In [5]:
sections = np.array_split(df, 4)</code>
Copier après la connexion

La variable sections contient désormais une liste de 4 dataframes, chacun contenant environ 105811 lignes.

Lorsque vous traitez des trames de données volumineuses, il est important de prendre en compte le coût de calcul et les besoins en mémoire des différentes méthodes de fractionnement. np.array_split fournit une solution polyvalente et efficace pour diviser des tableaux en sections non égales.

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