Comment puis-je obtenir la fonctionnalité GroupBy dans NumPy sans fonction dédiée ?

Susan Sarandon
Libérer: 2024-11-26 04:38:13
original
179 Les gens l'ont consulté

How Can I Achieve GroupBy Functionality in NumPy Without a Dedicated Function?

Fonctionnalité GroupBy dans NumPy

Le regroupement de données est une tâche courante dans l'analyse des données, vous permettant d'agréger et d'organiser des données en fonction de critères spécifiques. Bien que NumPy ne fournisse pas nativement de fonction de groupe par fonction dédiée, vous pouvez adopter plusieurs approches pour obtenir cette fonctionnalité.

Une méthode consiste à utiliser la fonction np.split() en combinaison avec np.unique() . Cette approche repose sur l'hypothèse que la première colonne de votre tableau, qui sert de clé de regroupement, est toujours croissante. En triant le tableau par cette colonne et en obtenant les valeurs uniques, vous pouvez ensuite diviser le tableau en groupes à l'aide de np.split().

Par exemple, étant donné le tableau suivant :

array([[1, 275],
       [1, 441],
       [1, 494],
       [1, 593],
       [2, 679],
       [2, 533],
       [2, 686],
       [3, 559],
       [3, 219],
       [3, 455],
       [4, 605],
       [4, 468],
       [4, 692],
       [4, 613]])
Copier après la connexion

Pour regrouper ce tableau par la première colonne, vous pouvez utiliser le code suivant :

a = a[a[:, 0].argsort()]
np.split(a[:,1], np.unique(a[:, 0], return_index=True)[1][1:])
Copier après la connexion

Cela produira le résultat souhaité sortie :

array([[[275, 441, 494, 593]],
       [[679, 533, 686]],
       [[559, 219, 455]],
       [[605, 468, 692, 613]]], dtype=object)
Copier après la connexion

Cette approche offre plusieurs avantages :

  • Elle évite le besoin de boucles explicites, ce qui la rend plus efficace.
  • Les listes de résultats sont NumPy tableaux, permettant d'autres opérations NumPy sans conversion.
  • Il a une complexité de O(n) (ou O(n log(n)) avec tri).

Bien que NumPy lui-même ne dispose pas d'un groupe par fonction spécifique, les méthodes décrites ci-dessus fournissent des moyens efficaces pour effectuer des opérations de regroupement sur vos données, vous permettant de les organiser et de les analyser efficacement.

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