Pandas loc vs iloc | loc vs iloc in Pandas, um Daten auszuwählen

Inhalt

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.

Python-6710206

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 Index 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:

loc1-6934081

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:

loc2-2896211

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:

loc3-6955999

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.

loc4-9678278

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:

loc5-4966090

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:

loc6-8859253

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:

loc7-1-6650949

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:

loc8-1-9834937

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:

loc9-1-1194147

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:

loc10-2-6921312

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

loc11-1-9953955

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.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.

Datenlautsprecher