Maison >développement back-end >Tutoriel Python >Comment diviser un grand Pandas DataFrame en parties égales lorsque le nombre de lignes n'est pas divisible par le nombre de parties ?
Diviser les grandes trames de données Pandas en parties égales
Lorsque vous travaillez avec de grands ensembles de données dans Pandas, il est souvent nécessaire de les diviser en morceaux plus petits pour traitement ou analyse. Une méthode couramment utilisée pour diviser des trames de données est np.split, qui distribue les données dans un nombre égal de tableaux le long d'un axe spécifié. Cependant, tenter de diviser un nombre impair de lignes à l'aide de cette méthode peut entraîner une ValueError.
Approche alternative utilisant np.array_split
Pour surmonter ce problème, envisagez d'utiliser np.array_split à la place. Cette fonction permet une division inégale de la trame de données, comme démontré dans le code Python suivant :
<code class="python">import pandas as pd import numpy as np 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)}) print(df) split_data = np.array_split(df, 4) for part in split_data: print(part)</code>
La sortie de ce code montre la trame de données divisée en quatre parties égales :
A B C D 0 foo one -0.174067 -0.608579 1 bar one -0.860386 -1.210518 2 foo two 0.614102 1.689837 3 bar three -0.284792 -1.071160 4 foo two 0.843610 0.803712 5 bar two -1.514722 0.870861 6 foo one 0.131529 -0.968151 7 foo three -1.002946 -0.257468 A B C D 0 foo one -0.174067 -0.608579 1 bar one -0.860386 -1.210518 2 foo two 0.614102 1.689837 3 bar three -0.284792 -1.071160 4 foo two 0.843610 0.803712 5 bar two -1.514722 0.870861 A B C D 0 foo one 0.131529 -0.968151 1 foo three -1.002946 -0.257468 A B C D 0 bar one -0.860386 -1.210518 1 foo two 0.614102 1.689837 2 bar three -0.284792 -1.071160 3 foo two 0.843610 0.803712 4 bar two -1.514722 0.870861
L'utilisation de np.array_split garantit une répartition uniforme des lignes du dataframe, quel que soit leur nombre total. Cela fournit une méthode pratique pour diviser de grands ensembles de données en morceaux gérables pour un traitement ultérieur.
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!