Comptage de la fréquence des valeurs dans les colonnes du dataframe
Étant donné un dataframe avec une colonne contenant des valeurs catégorielles, vous pouvez rencontrer le besoin de compter la fréquence d'occurrence de chaque valeur unique.
Considérez ce qui suit dataframe :
category cat a cat b cat a
Pour récupérer les valeurs distinctes et leurs fréquences correspondantes, suivez ces étapes :
Utilisation de value_counts()
Comme suggéré par @DSM, utilisez value_counts() pour y parvenir tâche :
In [37]: df = pd.DataFrame({'a':list('abssbab')}) df['a'].value_counts()
Sortie :
b 3 a 2 s 2 dtype: int64
Utilisation de groupby() et count()
Alternativement, vous pouvez utiliser groupby() et count() :
In [38]: df.groupby('a').count()
Sortie :
a a a 2 b 3 s 2 [3 rows x 1 columns]
Options supplémentaires :
Pour plus d'informations, reportez-vous à la documentation pandas sur https://pandas.pydata.org.
Incorporer Frequency Back dans le Dataframe
Si vous souhaitez rajouter les valeurs de fréquence au dataframe d'origine, vous pouvez utiliser transform() avec count():
In [41]: df['freq'] = df.groupby('a')['a'].transform('count') df
Sortie :
a freq 0 a 2 1 b 3 2 s 2 3 s 2 4 b 3 5 a 2 6 b 3 [7 rows x 2 columns]
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!