Aller au-dela de value_counts () : creer des tableaux de frequences visuellement attrayants avec seulement 3 lignes de code (a le concours de donnees OkCupid)

Quelques astuces simples mais utiles que vous ne connaissiez probablement nullement

Bien que le possible le plus facile de coder une table de frequences pour un objet Series dans la bibliotheque Python pandas consiste a appliquer la value_counts() technique, le resultat de cette operation parait plutot basique. Nous pouvons le rendre plus informatif en ajustant des parametres booleens d’la methode normalize , sort , ascending , ainsi, dropna , ou en regroupant des valeurs (si elles sont numeriques) dans des bacs. Cependant, les laternatives ici sont assez limitees, donc Afin de ameliorer visuellement la table de frequences resultante, nous pouvons envisager plusieurs astuces simples mais indispensables, telles que le chainage de methodes, la personnalisation du propos, 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 renseignements 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 les donnees sur les statuts des utilisateurs.

1. Enchainement des methodes

Pour commencer, creons un tableau de frequence d’origine Afin de les statuts des utilisateurs :

( Note : ci-apres, nous allons laisser tous les autres parametres de la value_counts() methode par defaut, cela signifie que nous ne considererons que les tableaux de frequences tries avec ordre decroissant et en excluant les valeurs manquantes. Pour nos besoins, se servir de ou non ces parametres ne quel que soit.)

Sans connaitre le contexte, a partir du tableau ci-dessus, il est en mesure de ne point etre pertinent que les nombres representent des pourcentages et non des frequences absolues. Ajoutons 1 titre au tableau en utilisant 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 creer 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. Afin d’effectuer la liste, nous pouvons utiliser la boucle for suivante :

Enfin, nous pouvons joliment imprimer le tableau des frequences. Pour ceci, nous allons utiliser la to_markdown() methode pandas qui necessite l’installation (pas toujours l’import) du module tabulate ( pip install tabulate ).

Important : Afin de afficher convenablement les resultats, la to_markdown() technique doit etre utilisee uniquement a l’interieur d’la print() achat.

Jouons au milieu des parametres tablefmt et stralign . Le premier d’entre eux definit le format du tableau et peut avoir l’une des valeurs suivantes : plain , simple , github , grid , fancy_grid , pipe , orgtbl , jira , presto , pretty , psql , rst , etc. pourquoi pas, le format de tableau que nous avons surpris plus haut s’appelle pipe , celui avec defaut concernant les to_markdown() pandas technique. Curieux que pour le package tabulate lui-meme, le format de tableau via defaut est simple . Quant au deuxieme parametre, stralign , il sert a remplacer l’alignement des donnees de chaine avec defaut (qui reste left ). Les laternatives possibles ici sont right et center .

Attention : le floatfmt parametre ne fonctionne jamais en combinaison avec le format du tableau pretty .

Plats a emporter pratiques

Bien que l’ensemble de Notre procedure pas a jamais ci-dessus ait necessite de nombreuses iterations et descriptions, nous trouverons ci-dessous des solutions de code finales Afin de 4 versions differentes de notre tableau des frequences Afin de profiles[‘status’] , l’article en % :

Dans ce billet, nous avons discute de divers approches simples mais puissantes pour ameliorer la disposition du tableau des frequences et la lisibilite globale. Ils ont l’ensemble de votre value_counts() methode des pandas comme accessoire central, mais l’ensemble de vont au-dela et aboutissent a des representations plus percutantes. De plus, chacune des solutions presentees, 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 tout le monde, et bonne chance a ceux qui utilisent l’application de rencontres OkCupid ????

Vous pouvez trouver attractif aussi ces articles :