[PYTHON] Résumé de l'utilisation de pandas.DataFrame.loc

"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.

À propos de la spécification des données

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.

Je l'ai utilisé

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()

キャプチャ.JPG

L'index de ligne se compose de item_name et les colonnes se composent de price, stock et de production_area.

Spécification d'une seule étiquette d'index

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"]

キャプチャ1.JPG

J'ai pu l'extraire. Les données extraites sont de type Series.

Spécification de la liste d'étiquettes d'index

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"]]

キャプチャ2.JPG

J'ai pu l'extraire. Les données extraites étaient de type DataFrame.

Spécification d'une seule étiquette de ligne ou d'une étiquette de colonne

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"]

キャプチャ3.JPG 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.

Spécification des étiquettes de ligne et des étiquettes de colonne à l'aide de tranches

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"]

キャプチャ4.JPG

J'ai pu l'extraire. Utilisez-vous ceci ...?

Spécification des données à l'aide d'une liste booléenne

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]]

キャプチャ5.JPG 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.

Spécification des données à l'aide d'expressions conditionnelles

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]

キャプチャ6.JPG

J'ai pu l'extraire. Après tout, s'il s'agit d'une seule unité, elle semble être la plus utilisée.

Extraire uniquement des colonnes spécifiques à l'aide d'expressions conditionnelles

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"]]

キャプチャ7.JdPG.JPG

finalement

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

Résumé de l'utilisation de pandas.DataFrame.loc
Résumé de l'utilisation de pyenv-virtualenv
Résumé de l'utilisation de csvkit
[Python2.7] Résumé de l'utilisation d'unittest
Résumé de l'utilisation de la liste Python
[Python2.7] Résumé de l'utilisation du sous-processus
Résumé de l'utilisation de MNIST avec Python
[Python] Résumé de l'utilisation des fonctions de fractionnement et de jointure
scikit-learn Comment utiliser le résumé (apprentissage automatique)
Comment calculer Utiliser% de la commande df
Jupyter Notebook Principes d'utilisation
Bases de PyTorch (1) -Comment utiliser Tensor-
Résumé de l'écriture d'AWS Lambda
[Question] Comment utiliser plot_surface de python
Comment utiliser xml.etree.ElementTree
Comment utiliser Python-shell
Remarques sur l'utilisation de tf.data
Comment utiliser virtualenv
Comment utiliser la correspondance d'image
Comment utiliser le shogun
Comment utiliser Pandas 2
Comment utiliser Virtualenv
Comment utiliser numpy.vectorize
Comment utiliser pytest_report_header
Comment utiliser partiel
Comment utiliser Bio.Phylo
Comment utiliser SymPy
Comment utiliser x-means
Comment utiliser WikiExtractor.py
Comment utiliser IPython
Comment utiliser virtualenv
Comment utiliser Matplotlib
Comment utiliser iptables
Comment utiliser numpy
Comment utiliser TokyoTechFes2015
Comment utiliser venv
Comment utiliser le dictionnaire {}
Comment utiliser Pyenv
Comment utiliser la liste []
Comment utiliser python-kabusapi
Comment utiliser OptParse
Comment utiliser le retour
Comment utiliser pyenv-virtualenv
Comment utiliser imutils
Comment utiliser Folium (visualisation des informations de localisation)
[Python] Comment utiliser deux types de type ()
Résumé de la façon d'importer des fichiers dans Python 3
Pas beaucoup de mention de la façon d'utiliser Pickle
Résumé de l'étude de Python pour utiliser AWS Lambda
Comment utiliser Qt Designer
Comment utiliser la recherche triée
[gensim] Comment utiliser Doc2Vec
python3: Comment utiliser la bouteille (2)
Comprendre comment utiliser django-filter
Comment utiliser le générateur
[Python] Comment utiliser la liste 1
Comment utiliser FastAPI ③ OpenAPI