[PYTHON] Appliquer la syntaxe / réponse de base de l'extraction de Pandas à matplotlib

OverView Résumez l'utilisation de base des spécifications lors de l'acquisition de chaque résultat d'agrégation avec Pandas. Ci-après, "data" est appelé objet DataFrame.

Édition de base

Obtenir la ligne à l'index spécifié

data[<index>]

#Obtenir la ligne à l'index 1
# (Puisque l'index commence à 0, ce sera la deuxième ligne)
data[1]

Récupère la colonne avec le nom de colonne spécifié

data[<column_name>]

#Nom de colonne'name'Pour obtenir la colonne de
data['name']

Obtenez uniquement les lignes qui remplissent les conditions

data[<Unité d'index booléenne>]

L'image booléenne de chaque index est la suivante. Dans cet exemple, seules les lignes avec les index 0 et 2 sont extraites.

0     True
1    False
2     True
3    False

Un exemple de génération d'un booléen d'unité d'index est le suivant. Vous pouvez utiliser la formule de jugement Python telle quelle.

#La valeur de la colonne d'âge est de 20 ou plus
data['age'] >= 20

#colonne de nom'Y compris le caractère «ro»
data['name'].str.contains('Ro')

#La colonne de nom est unique
data[~data['name'].duplicated()]

Version avancée

Sortons différents formats de réponse basés sur "Obtenir uniquement les lignes qui satisfont les ** conditions **" qui a été traité à la fin de l'édition de base.

Ici, les données statistiques stockées dans "data" sont les suivantes.

index height class grade weight
0 178.820262 a 2 65.649452
1 172.000786 b 5 55.956723
2 179.337790 a 4 56.480630
3 181.204466 b 1 62.908190
4 169.483906 a 4 65.768826
5 174.893690 b 4 56.188545

Obtenez uniquement les lignes qui remplissent les conditions

Tout d'abord, passons en revue les bases.

data[data['class'] == 'a']

       height class grade weight
0   178.820262   a   2  65.649452
2   179.337790   a   4  56.480630
4   169.483906   a   4  65.768826

Obtenez chaque valeur d'une ligne qui remplit les conditions au format liste

En exécutant ".values", chaque valeur d'un enregistrement est transformée en une seule liste, et une double liste l'ayant comme élément pour chaque enregistrement est acquise.

data[data['class'] == 'a'].values

[[178.8202617298383 'a' 2 65.64945209116877]
 [179.33778995074982 'a' 4 56.48062978465752]
 [169.4839057410322 'a' 4 65.76882607944115]]

Obtenir les valeurs d'index et de colonne pour les lignes qui remplissent les conditions

Exécutez .loc pour obtenir l'index et la valeur de colonne spécifiée. Ce format est un format qui peut être transmis au tracé de matplotlib.

data.loc[data['class'] == 'a', 'height']

0     178.820262
2     179.337790
4     169.483906

#Représentation de tracé à l'aide d'arguments
args = data.loc[data['class'] == 'a', 'height']
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.plot(args)
plt.show()

image.png

Obtenir uniquement les valeurs de colonne des lignes qui remplissent les conditions spécifiées au format liste

Avec .values le résultat de .loc, seules les valeurs de colonne spécifiées peuvent être obtenues au format liste. Ceci est disponible en hist sur matplotlib.

data.loc[data['class'] == 'a', 'la taille'].values

[178.82026173 179.33778995 169.48390574]

fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.hist(data.loc[data['classe'] == 'a', 'la taille'].values)
plt.show()

image.png

Plus vous avez d'enregistrements, plus le graphique sera brillant!

Recommended Posts

Appliquer la syntaxe / réponse de base de l'extraction de Pandas à matplotlib
Introduction à Ansible Partie 2 'Grammaire de base'
Grammaire de base Python3
Comment appliquer des marqueurs uniquement à des données spécifiques avec matplotlib
Appliquons la couleur de l'image de marque à la carte des couleurs de matplotlib!
Premiers pas avec les pandas: connaissances de base à retenir en premier
[Introduction à Python] Utilisation basique de la bibliothèque matplotlib
Introduction à Python numpy pandas matplotlib (pour ~ B3 ~ part2)