Was ist der Unterschied zwischen loc und iloc in Pandas??
Notieren Sie dies als eine der häufigsten Fragen, die Sie von Neulingen in Python und aufstrebenden Data Science hören werden.. Diese Frage wird Ihnen mit hoher Wahrscheinlichkeit in einem Interview mit einem Data Scientist oder Data Analyst begegnen.
Mal ehrlich, selbst ich war anfangs verwirrt, als ich vor ein paar Jahren angefangen habe, Python zu lernen. Aber keine Sorge! loc vs iloc in Pandas kann eine knifflige Frage sein, Aber die Antwort ist ziemlich einfach, wenn man den Dreh raus hat.
Und genau das möchte ich Ihnen mit diesem Artikel näher bringen.. Wir werden Pandas vertrauen, die beliebteste Python-Bibliothek, um die Frage zu beantworten loc vs. iloc.
Die Pandas-Bibliothek enthält mehrere Methoden zur bequemen Datenfilterung: loc y iloc unter ihnen. Mit diesen, wir können praktisch jede Datenauswahlaufgabe in Pandas-Datenrahmen erledigen.
Schauen Sie sich unsere beiden beliebten Python-Kurse an, wenn Sie neu in der Python-Programmierung sind. Sie sind kostenlos und ein großartiger erster Schritt auf Ihrem Weg zum maschinellen Lernen.:
Gut, Lass uns tauchen!
loc gegen iloc in Pandas
Dann, Was ist loc und iloc überhaupt?? Wir müssen diese Frage beantworten, bevor wir verstehen können, wo jede dieser Pandas-Funktionen in Python verwendet werden soll.
loc in pandas
Platz es ist tag-basiert, was bedeutet, dass wir den Namen der Zeilen und Spalten angeben müssen, die wir filtern müssen.
Zum Beispiel, Nehmen wir an, wir suchen nach den Zeilen, deren IndexDas "Index" Es ist ein grundlegendes Werkzeug in Büchern und Dokumenten, Dies ermöglicht es Ihnen, die gewünschten Informationen schnell zu finden. Allgemein, Sie wird am Anfang einer Arbeit präsentiert und organisiert die Inhalte hierarchisch, mit Kapiteln und Abschnitten. Die richtige Vorbereitung erleichtert die Navigation und verbessert das Verständnis des Materials, was es zu einer unverzichtbaren Ressource sowohl für Studenten als auch für Fachleute in verschiedenen Bereichen macht.... es ist 1, 2 Ö 100. Wir werden nicht den ersten kriegen, die zweite oder die hundertste Reihe hier. jedoch, wir erhalten die Ergebnisse nur, wenn der Name eines Indexes lautet 1, 2 Ö 100.
Dann, wir können die Daten mit der loc-Funktion in Pandas filtern, auch wenn die Indizes in unserem Datensatz keine Ganzzahl sind.
iloc in pandas
Zweitens, iloc basiert auf ganzzahligen Indizes. Dann hier, wir müssen Zeilen und Spalten durch ihren ganzzahligen Index angeben.
Nehmen wir an, wir suchen nach den Zeilen mit Index 1, 2 Ö 100. Werde das erste zurückgeben, zweite und hundertste Reihe, unabhängig von Namen oder Labels, die wir im Index in unserem Datensatz haben.
Wir werden in diesem Artikel mehrere Beispiele zur Verwendung sehen Platz Ja iloc für den Prozess der Auswahl und Aktualisierung von Daten in Python.
loc und iloc in Aktion (Pandas in Python verwenden)
Zeit, Ihr Jupyter-Notebook hochzufahren! Wir werden direkt in den Code eintauchen und verstehen, wie und wo man loc vs. iloc in Python verwendet.
Erstellen Sie einen Beispieldatensatz
Zuerst, wir brauchen einen Datensatz, um loc und iloc anzuwenden, Wahrheit? Lass uns das tun.
Wir erstellen einen Beispiel-Schülerdatensatz bestehend aus 5 Säulen: Alter, Sektion, Stadt, Sex und Lieblingsfarbe. Dieser Datensatz enthält sowohl numerische als auch kategoriale Variablen:
Finden Sie alle Zeilen basierend auf einer beliebigen Bedingung in einer Spalte
Eine Sache, die wir fast immer verwenden, wenn wir einen Datensatz untersuchen:: filtern Sie die Daten basierend auf einer bestimmten Bedingung. Zum Beispiel, Wir müssen möglicherweise alle Zeilen in unserem Dataset finden, in denen das Alter mehr als x Jahre beträgt, oder die stadt ist delhi, usw.
Wir können Abfragetypen mit einer einfachen Codezeile lösen, indem wir pandas.DataFrame.loc[]. Wir müssen nur die Bedingung innerhalb der loc-Anweisung übergeben.
Versuchen wir, die Zeilen zu finden, in denen der Wert von Alter ist größer oder gleich 15:
Probieren Sie den obigen Code im Live-Encoding-Fenster unten aus!!
Finde alle Zeilen mit mehr als einer Bedingung
Ähnlich, Wir können auch mehrere Bedingungen verwenden, um unsere Daten zu filtern, So finden Sie alle Zeilen, in denen das Alter größer oder gleich ist 12 und geschlecht ist auch männlich:
Wählen Sie einen Zeilenbereich mit loc . aus
mit loc, wir können die auch schneiden Pandas Datenrahmen auf verschiedenen Indizes. Wenn die Indizes nicht geordnet sind, wählt nur die Zeilen mit den Indizes aus 1 Ja 3 (wie Sie im folgenden Beispiel sehen werden). Und wenn die Indizes keine Zahlen sind, also können wir unseren Datenrahmen nicht teilen.
Dann, wir müssen die benutzen iloc Funktion zum Schneiden unseres Pandas-Datenrahmens.
Wählen Sie nur erforderliche Spalten mit einer Bedingung aus
Wir können auch die erforderlichen Spalten aus den Zeilen auswählen, die unsere Bedingung erfüllen.
Zum Beispiel, wenn unser Datensatz Hunderte von Spalten enthält und wir nur einige davon sehen möchten, Wir können eine Liste von Spalten nach der Bedingung innerhalb der loc-Anweisung hinzufügen:
Aktualisieren Sie die Werte einer bestimmten Spalte in ausgewählten Zeilen
Dies ist einer meiner Lieblingstricks von Python Pandas!!
Wir müssen die Werte in unserem Datensatz oft aufgrund einer bestimmten Bedingung aktualisieren. Zum Beispiel, wenn die Werte in Alter sind größer als gleich 12, Daher möchten wir die Spaltenabschnittswerte aktualisieren, um zu sein „m“.
Wir können dies tun, indem wir a . ausführen in Schleife auch, aber wenn unser Datensatz groß ist, Es würde ewig dauern, die Aufgabe zu erledigen. Verwenden von loc in Pandas, wir schaffen das in sekunden, Auch in größeren Datensätzen!
Wir müssen nur die Bedingung gefolgt von der Zielspalte angeben und dann den Wert zuweisen, mit dem wir aktualisieren möchten:
Aktualisieren Sie die Werte mehrerer Spalten in ausgewählten Zeilen
Wenn wir mehrere Spalten mit unterschiedlichen Werten aktualisieren möchten, wir können die folgende Syntax verwenden.
In diesem Beispiel, wenn der Spaltenwert Alter ist größer als 20, dann aktualisiert die loc-Funktion die Werte in der Spalte Sektion mit „S„Und die Spaltenwerte Stadt mit Pune:

Wählen Sie Zeilen mit Indizes mit iloc . aus
Wenn wir iloc . verwenden, wir müssen die Zeilen und Spalten nach ihrem ganzzahligen Index angeben. Wenn wir nur die erste und dritte Zeile auswählen möchten, wir müssen dies nur in der iloc-Anweisung mit unserem Datenrahmen auflisten:

Wählen Sie Zeilen mit bestimmten Indizes und bestimmten Spalten aus
Vorher, Wir wählen einige Spalten aus dem Datensatz mit der loc-Funktion aus. Wir können dies mit der iloc-Funktion tun. Bitte beachten Sie, dass wir anstelle des Spaltennamens die Indexnummer der Spalte angeben müssen:
Wählen Sie einen Zeilenbereich mit iloc . aus
Wir können auch einen Datenrahmen mit iloc . schneiden. Wir müssen die Startindex Ja end_index + 1 einen bestimmten Datenrahmen ausschneiden. Wenn die Indizes nicht die geordneten Zahlen sind, dann wird es die auswählen Startindex Zeilennummer bis end_index:

Wählen Sie einen Zeilen- und Spaltenbereich mit iloc . aus
Schneiden Sie den Datenrahmen in Zeilen und Spalten. Im folgenden Beispiel, wir wählen die reihen von (1-2) und die Spalten von (2-3).

loc und iloc sind zwei super nützliche Funktionen in Pandas, auf die ich mich mittlerweile sehr verlasse. Ich bin sicher, dass Sie sie auch in Ihrer Machine Learning-Reise verwenden werden. Und wenn Sie ein R-Benutzer sind, der zu Python wechselt, Ich bin sicher, Sie werden loc und iloc ziemlich intuitiv finden.
Ich empfehle dringend, unsere Python für die Datenwissenschaft Ja Pandas für die Datenanalyse in Python-Kursen, wenn Sie neu in der Python-Programmierung sind. Sie sind kostenlos und ein großartiger erster Schritt auf Ihrem Weg zum maschinellen Lernen.











