Quand est-il approprié d'utiliser df.value_counts() vs df.groupby('...').count()?
J'ai entendu dans les Pandas il y a souvent plusieurs façons de faire la même chose, mais je me demandais –
Si je suis en train de regrouper les données par une valeur dans une colonne spécifique et de compter le nombre d'éléments avec cette valeur, quand est-il judicieux d'utiliser df.groupby('colA').count()
et quand est-il judicieux d'utiliser df['colA'].value_counts()
?
Vous devez vous connecter pour publier un commentaire.
Il existe une différence
value_counts
retour:mais
count
pas, elle sortie de tri parindex
(créé par colonne dansgroupby('col')
).est pour l'ensemble de toutes les colonnes de
df
en fonctioncount.
Donc compter des valeurs à l'exclusion deNaN
s.Donc si besoin
count
une seule colonne besoin:Exemple:
Groupby
etvalue_counts
sont totalement différentes fonctions. Vous ne pouvez pas effectuer value_counts sur un dataframe.Value Counts
ne sont limitées que pour une seule colonne ou de la série et son seul but est le retour de la série de fréquences de valeursGroupby
retourne un objet de sorte qu'on peut effectuer des calculs statistiques sur elle. Ainsi, lorsque vous vousdf.groupby(col).count()
il sera de retour le nombre de vrais valeurs présentes dans les colonnes à l'égard de laspecific columns
dans groupby.Quand doit-être
value_counts
utilisé et quand doit -groupby.count
être utilisé :Prenons un exemple
Groupby compter:
Pour trouver la fréquence à l'aide groupby vous avez besoin d'agréger à l'encontre de la colonne spécifiée lui-même comme @jez n'. (peut-être pour éviter cela et faire de la vie des développeurs facile value_counts est mis en œuvre ).
Valeur Compte:
En conclusion :
.groupby(col).count()
doit être utilisé lorsque vous souhaitez trouver la fréquence de valeurs valides présents dans les colonnes à l'égard spécifiécol
..value_counts()
doit être utilisé pour trouver les fréquences d'une série.