"Loc" peut extraire des lignes et des colonnes qui remplissent les conditions du DataFrame. "Loc" apparaît fréquemment lors de l'utilisation de pandas, mais comme il existe des variations dans la méthode de spécification des données, je voudrais résumer ce domaine.
Les données suivantes peuvent être spécifiées pour loc.
--Étiquette unique --Liste d'étiquettes
Il y a plusieurs façons de l'utiliser ... (゜ _ ゜) Vous devez être prudent lors de l'écriture d'un programme, mais si vous ne distinguez pas calmement quel motif est implémenté lors de la lecture, il est probable que ce soit "???". J'écrirai chaque exemple de code et vérifierai l'opération.
Les données utilisées pour le contrôle d'opération cette fois-ci ont été créées par moi-même.
import pandas as pd
loc_sample_data = pd.read_csv("loc_sample_data.csv",index_col="item_name")
loc_sample_data.head()
L'index de ligne se compose de item_name et les colonnes se composent de price, stock et de production_area.
Spécifiez l'étiquette d'index (unique) de la ligne que vous souhaitez extraire et extraire les données. Cette fois, nous allons extraire l'élément C.
loc_sample_data.loc["itemC"]
J'ai pu l'extraire. Les données extraites sont de type Series.
L'exemple ci-dessus extrait une seule ligne, mais il est possible de spécifier / extraire plusieurs lignes. Si vous souhaitez en spécifier plusieurs, spécifiez-les dans la liste. Ensuite, nous extrairons itemA et itemD.
loc_sample_data.loc[["itemA", "itemD"]]
J'ai pu l'extraire. Les données extraites étaient de type DataFrame.
Il est également possible d'extraire des données en spécifiant les étiquettes respectives pour les lignes et les colonnes. Cette fois, spécifiez ligne → itemB et colonne → produisant_area pour extraire les données.
loc_sample_data.loc["itemB", "producing_area"]
J'ai pu l'extraire. Type de chaîne de données extraite. Dans cet exemple, il s'agit du type de chaîne de données extraite, mais cela dépend du contenu des données stockées dans le DataFrame.
Vous pouvez spécifier plusieurs lignes et colonnes à l'aide de tranches. Utilisez-le pour extraire les prix de itemA et itemB.
loc_sample_data.loc["itemA":"itemB","price"]
J'ai pu l'extraire. Utilisez-vous ceci ...?
En spécifiant une liste booléenne de même longueur (nombre de lignes) que le bloc de données source, seules les lignes True peuvent être extraites. Cette fois, je vais extraire itemB et itemD.
loc_sample_data.loc[[False, True, False, True]]
J'ai pu l'extraire. Il semble qu'il n'y ait aucune chance de l'utiliser s'il s'agit d'un seul coup, mais il semble qu'il y ait une utilisation si vous jugez à l'avance si la condition d'extraction est satisfaite pour chaque ligne et créez une liste.
C'est celui que vous êtes le plus susceptible d'utiliser. Cette fois, je vais essayer d'extraire des données (itemC, itemD) dont le prix est supérieur à 500.
loc_sample_data.loc[loc_sample_data["price"] > 500]
J'ai pu l'extraire. Après tout, s'il s'agit d'une seule unité, elle semble être la plus utilisée.
En plus de l'expression conditionnelle ci-dessus, spécifiez une colonne et un extrait spécifiques. Les conditions sont les mêmes que précédemment, mais cette fois seule la colonne produisant_area est extraite.
loc_sample_data.loc[loc_sample_data["price"] > 500, ["producing_area"]]
Il existe de nombreuses façons de l'utiliser, mais celle que vous devez absolument apprendre est l'extraction de données à l'aide d'expressions conditionnelles. Je suis un peu long et fatigué cette fois, alors je vais finir. Rendez-vous dans le prochain post!
Recommended Posts