Maison >développement back-end >Tutoriel Python >Comment compter efficacement les occurrences de termes par ID et groupe dans Pandas ?

Comment compter efficacement les occurrences de termes par ID et groupe dans Pandas ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-25 19:27:14894parcourir

How to Efficiently Count Term Occurrences by ID and Group in Pandas?

Récupération du nombre de termes par ID et groupe avec Groupby de Pandas

Problème

Étant donné un DataFrame contenant des colonnes pour ID (id), groupe (groupe ), et term (term), l'objectif est de compter efficacement les occurrences de chaque terme pour chaque combinaison unique de ID et group.

Solution

En utilisant les puissantes fonctions groupby et size de Pandas, nous pouvons y parvenir sans recourir à des boucles :

df.groupby(['id', 'group', 'term']).size().unstack(fill_value=0)

Résultats

Ceci L'opération produit un MultiIndex DataFrame hiérarchique présentant le terme compte :

</p>
<pre class="brush:php;toolbar:false">         term

groupe term1 term2 term3
id
1 3 2 0
2 2 1 1

Performances Analyse

Même pour des ensembles de données massifs comportant des millions de lignes, cette approche vectorisée démontre des performances exceptionnelles :

1,000,000 rows
----------------
Elapsed time: 1.2 seconds

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!

Déclaration:
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