En vérifiant le contenu des données Il peut arriver que vous souhaitiez représenter la quantité de données binaires incluses dans un seul graphique à barres.
Avez-vous trouvé que c'était faux? Je n'ai pas trouvé de moyen concis de le représenter avec un seul graphique à barres, donc j'inclurai également la sortie.
Cette fois, je crée un graphique à barres qui comprend non seulement des données binaires, mais également des données à 6 valeurs.
J'ai utilisé Google Colab. La version de la bibliothèque utilisée est la suivante.
Bibliothèque | version |
---|---|
python | 3.6.9 |
pandas | 1.1.4 |
seaborn | 0.11.0 |
matplotlib | 3.2.2 |
Avant d'utiliser le module ci-dessus, importez-le.
%matplotlib inline
import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt
Cette fois, nous utiliserons les astuces de l'ensemble de données d'entraînement inclus dans seaborn. Cet ensemble de données a Il comprend le montant total payé pour le dîner et le déjeuner, le montant des jetons inclus et le sexe de la personne qui a payé.
#Importer un bloc de données
tips = sns.load_dataset('tips')
#Vérifiez les 5 premières lignes
display(tips.head())
total_bill | tip | sex | smoker | day | time | size | |
---|---|---|---|---|---|---|---|
0 | 16.99 | 1.01 | Female | No | Sun | Dinner | 2 |
1 | 10.34 | 1.66 | Male | No | Sun | Dinner | 3 |
2 | 21.01 | 3.50 | Male | No | Sun | Dinner | 3 |
3 | 23.68 | 3.31 | Male | No | Sun | Dinner | 2 |
4 | 24.59 | 3.61 | Female | No | Sun | Dinner | 4 |
Si vous voyez la sortie ci-dessus, l'importation est réussie.
Créez un graphique à barres en utilisant les quatre colonnes suivantes. Pour créer un graphique, vous devez convertir des valeurs qualitatives en valeurs quantitatives.
Nom de colonne | Aperçu | politique |
---|---|---|
sex | sexe(Male/Female) | Male -> 0, Female -> 1 |
smoker | fumeur(No/Yes) | No -> 0, Yes -> 1 |
time | L'heure du repas(Lunch/Dinner) | Lunch -> 0, Dinner -> 1 |
size | Nombre de personnes(1 ~ 6) | Utiliser tel quel |
Je pense qu'il y a plusieurs façons de faire ça, Elle s'est déroulée comme suit.
#Quantifier le sexe(Male1 -> 0, Female -> 1)
tips.sex = tips.sex.replace("Male", 0).replace("Female", 1)
#Quantifier le fumeur(No -> 0, Yes -> 1)
tips.smoker = tips.smoker.replace("No", 0).replace("Yes", 1)
#Quantifier le temps(Lunch -> 0, Dinner -> 1)
tips.time = tips.time.replace("Lunch", 0).replace("Dinner", 1)
#Vérifiez les 5 premières lignes
display(tips.head())
total_bill | tip | sex | smoker | day | time | size | |
---|---|---|---|---|---|---|---|
0 | 16.99 | 1.01 | 1 | 0 | Sun | 1 | 2 |
1 | 10.34 | 1.66 | 0 | 0 | Sun | 1 | 3 |
2 | 21.01 | 3.50 | 0 | 0 | Sun | 1 | 3 |
3 | 23.68 | 3.31 | 0 | 0 | Sun | 1 | 2 |
4 | 24.59 | 3.61 | 1 | 0 | Sun | 1 | 4 |
De cette façon, vous pouvez voir qu'il a été remplacé par des 0 et des 1.
Maintenant, le sujet principal. Définissez les noms de colonnes à inclure dans le graphique à barres sous forme d'étiquette au format liste. Ensuite, obtenez la valeur unique et le numéro de chaque colonne. Dans cet état, index est le nom de la colonne et le nom de la colonne est la valeur, donc le remplacement est en cours d'exécution.
#Définition de la liste d'étiquettes à stocker dans le graphique à barres
label = ["sex", "smoker", "time", "size"]
#Obtenez une valeur unique pour chaque étiquette
tips_ = [tips[l].value_counts() for l in label]
#Convertir en bloc de données et permuter l'index et la colonne
tips_ = pd.DataFrame(tips_).transpose()
#Afficher le graphique
tips_.plot.bar()
plt.grid()
plt.title("Frequency of values in each label")
plt.ylabel("counts")
plt.xlabel("value")
plt.show()
J'ai pu créer le graphe que je voulais trouver de cette manière.
J'ai créé une nouvelle trame de données en utilisant value_counts et j'ai sorti un graphique à barres de la fréquence.
Recommended Posts