Maison >développement back-end >Tutoriel Python >Pandas GroupBy : Quand utiliser `count()` plutôt que `size()` ?

Pandas GroupBy : Quand utiliser `count()` plutôt que `size()` ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-28 12:57:11689parcourir

Pandas GroupBy: When to Use `count()` vs. `size()`?

Comprendre la distinction entre la taille et le nombre chez les pandas

La manipulation des données implique souvent l'utilisation de la fonction groupby de Pandas pour agréger les données en fonction de critères spécifiques. Deux fonctions d'agrégation couramment utilisées, count et size, fournissent des informations différentes sur les données groupées.

groupby("x").count vs. groupby("x").size

La différence fondamentale entre count et size réside dans leur traitement des valeurs manquantes. count calcule le nombre de valeurs non nulles au sein d'un groupe, à l'exclusion de toutes valeurs manquantes (par exemple, NaN ou None). D'autre part, la taille calcule le nombre total d'observations dans un groupe, qu'elles contiennent ou non des valeurs manquantes.

Exemple

Considérez le DataFrame suivant :

df = pd.DataFrame({'a':[0,0,1,2,2,2], 'b':[1,2,3,4,np.NaN,4], 'c':np.random.randn(6)})

En utilisant le nombre et la taille, nous pouvons observer ce qui suit :

df.groupby(['a'])['b'].count()

# Output:
# a  
# 0    2
# 1    1
# 2    2
# Name: b, dtype: int64

df.groupby(['a'])['b'].size()

# Output:
# a  
# 0    2
# 1    1
# 2    3
# dtype: int64  

Comme vous peut voir, le nombre exclut la valeur manquante dans le groupe 2, ce qui donne un nombre de 2 pour ce groupe. En revanche, la taille inclut la valeur manquante, ce qui donne un total de 3. Cette distinction souligne l'importance de comprendre le comportement de ces fonctions lorsqu'il s'agit de données manquantes.

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