Aller au-dela de value_counts () : creer des tableaux de frequences visuellement attrayants avec juste 3 lignes de code (a le concours de precisions OkCupid)
Quelques astuces simples mais utiles que vous ne connaissiez probablement jamais
Bien que le moyen le plus facile de coder une table de frequences pour 1 objet Series dans la bibliotheque Python pandas consiste a appliquer la value_counts() methode, le resultat de une telle operation semble plutot basique. Nous pouvons le rendre plus informatif en ajustant les parametres booleens d’une methode normalize , sort , ascending , et dropna , ou en regroupant nos valeurs (si elles sont fuckbook payant numeriques) dans des bacs. Cependant, les laternatives ici seront assez limitees, donc pour ameliorer visuellement la table de frequences resultante, nous pouvons envisager plusieurs astuces simples mais indispensables, telles que le chainage de methodes, la personnalisation du texte, l’ajout du % symbole a chaque valeur de frequence et l’utilisation d’la puissance de jolie- impression.
Dans cet article, nous allons experimenter un ensemble de donnees Kaggle contenant des informations sur l’age, le sexe, l’emplacement, l’education, etc., pour 60 000 utilisateurs de l’ application de rencontres OkCupid ??. Pour nos besoins, cependant, nous n’utiliserons que des informations i propos des statuts des utilisateurs.
1. Enchainement des methodes
Pour commencer, creons un tableau de frequence de base pour les statuts des utilisateurs :
( Note : ci-apres, nous allons laisser l’integralite des autres parametres de la value_counts() methode via defaut, ce qui signifie que nous ne considererons que les tableaux de frequences tries via ordre decroissant et en excluant les valeurs manquantes. Pour des besoins, choisir ou non ces parametres ne quelle que soit.)
Sans connaitre le contexte, a partir du tableau ci-dessus, il peut ne pas etre clair que nos nombres constituent des pourcentages et non des frequences absolues. Ajoutons 1 titre au tableau avec le formatage f-string :
Dans l’exemple ci-dessus, nous avons ajoute le % symbole au titre du tableau. Et si nous voulions plutot l’ajouter a chaque valeur de frequence ? Une solution de contournement consiste a coder une liste de valeurs de frequence avec le % symbole ajoute a chacune d’entre elles, puis a creer une serie a partir de cette liste. Pour faire la liste, nous pouvons utiliser la boucle for suivante :
Enfin, nous pouvons joliment imprimer le tableau des frequences. Pour ce qui, nous allons utiliser la to_markdown() technique pandas qui necessite l’installation (pas forcement l’import) du module tabulate ( pip install tabulate ).
Important : pour afficher correctement les resultats, la to_markdown() methode doit etre utilisee uniquement a l’interieur en print() achat.
Montrons a nouveau la table de frequence d’etat de l’utilisateur appelee s_with_pct_symb , cette fois comme une vraie table, avec la syntaxe d’origine de to_markdown() . Comme precedemment, nous allons ajouter un titre en fourchus et appliquer le formatage f-string. Par probleme de coherence, nous affecterons ci-apres J’ai table de frequence a afficher a une variable appelee S ” :
Jouons avec les parametres tablefmt et stralign . Le premier d’entre eux definit le format du tableau et pourra avoir l’une des valeurs suivantes : plain , simple , github , grid , fancy_grid , pipe , orgtbl , jira , presto , pretty , psql , rst , etc. Par exemple, le format de tableau que nous avons decouvert plus bas s’appelle pipe , celui par defaut pour nos to_markdown() pandas methode. Curieux que concernant le package tabulate lui-meme, le format de tableau via defaut reste simple . Quant au deuxieme parametre, stralign , il sert a remplacer l’alignement des precisions de chaine avec defaut (qui reste left ). Les alternatives possibles ici sont right et center .
Attention : le floatfmt parametre ne fonctionne pas en combinaison avec le format du tableau pretty .
Plats a emporter pratiques
Correctement que chacune de J’ai procedure nullement a pas ci-dessus ait necessite beaucoup de iterations et descriptions, nous trouverons ci-dessous les solutions de code finales pour 4 versions differentes de notre tableau des frequences Afin de profiles[‘status’] , le tout en % :
- 2 tableaux simples avec/sans le % symbole,
- 2 jolis tableaux imprimes avec/sans le % symbole et avec/sans en-tete de tableau.
Dans ce post, nous avons discute de quelques approches simples mais puissantes Afin de ameliorer la disposition du tableau des frequences et la lisibilite globale. Ils ont l’ensemble de la value_counts() technique des pandas comme facteur central, mais l’ensemble de vont au-dela et aboutissent a des representations plus percutantes. De surcroi®t, chacune des solutions proposees, dans sa forme definitive, necessite au maximum 3 lignes de code.
J’espere que vous avez apprecie la lecture du article et que vous l’avez trouve utile. Merci d’avoir lu a n’importe qui, ainsi, bonne chance a ceux qui utilisent l’application de rencontres OkCupid ????
Vous pouvez tomber sur attractif aussi ces articles :