Pandas -Filter nach Wert

Pandas -Filter nach Wert
Eine tabellarische Struktur mit Spalten und Zeilen ist ein Datenrahmen in Pandas. Daten können mit dieser Bibliothek gereinigt, filtriert, aggregiert und gruppiert werden. Es ermöglicht uns, den ursprünglichen Datensatz in kleinere Gruppen zu unterteilen. Durch Teilen des Datensatzes in kleinere Datenrahmen können wir Teilmengen aus dem angegebenen Datensatz extrahieren. Dies erleichtert die Untersuchung, Visualisierung und Analyse bestimmter Datenabschnitte. Es ist notwendig, diese Befehle zu verstehen, um sie effektiv zu verwenden. In diesem Python -Tutorial lernen wir verschiedene Möglichkeiten, um einen Pandas -Datenframe zu filtern.

So filtern Sie den Datenrahmen nach Werten in Pandas?

Glücklicherweise gibt es mehrere Techniken, um Daten aus Datenrahmen und Serien in Pandas zu filtern. Die Werte eines Datenrahmens können unter Verwendung einer Vielzahl von Funktionen gefiltert werden, wie in den folgenden Beispielen gezeigt.

Beispiel Nr. 01: Filterung von Datenframezeilen mit Hilfe des Spaltenwerts

In einem Datenrahmen müssen Sie häufig Instanzen eines bestimmten Werts finden. Der .Die LOC -Indexierungsfunktion erleichtert es einfach, Zeilen entsprechend dem Wert des Wertes zu filtern oder nicht. Erstens werden wir die Pandas -Bibliothek importieren. Dann erstellen wir den Datenrahmen mit der PD.DataFrame () -Funktion.

Wir haben sechs Zeilen und drei Spalten erstellt. Die Kolumne 'Person' besteht aus den Namen einiger Personen ('Jason', 'Arya', 'Kim', 'Ryan', 'Sana', 'Mark'). Die "Gewichts" -Säule sind die Datenwerte, die die Gewichte von Individuen in kg darstellen (80, 56, 60, 72, 63, 90). Die Spalte "Sex" hat die Stringwerte, die Geschlechter von Individuen darstellen ('M', 'F', 'F', 'M', 'F', 'M'). Lassen Sie uns die Zeilen extrahieren, in denen der Wert in der Spalte "Sex" f ist "F" ist. Zu diesem Zeitpunkt wird die LOC [] -Funktion verwendet. Zeilen können mithilfe der LOC [] -Funktion abgerufen werden, die Pandas anbietet. Nur Indexbezeichnungen können als Eingabe im DataFrame übergeben werden.LOC [] Methode. Es gibt einen Datenrahmen oder eine Zeile zurück, wenn die Indexbezeichnung im aufgerufenen Datenrahmen vorliegt.

Der logische Ausdruck wird als Argument von der .LOC [] Methode. Durch Angeben des DF ['Sex'] == 'F' In der LOC [] -Funktion hat die Funktion drei Zeilen zurückgegeben, wobei der Wert der Spalte 'Geschlecht' 'f' lautet.

Beispiel Nr. 02: Filterung von Datenframezeilen mit Hilfe logischer oder relationaler Bedingungen

In einigen Szenarien möchten Sie möglicherweise gruppierte Daten basierend auf Mustern als Zeilen mit einem einzelnen Wert finden. Logische Ausdrücke können verwendet werden, um Muster zu definieren. Lassen Sie uns zuerst einen Datenrahmen erstellen.

Der obige DataFrame besteht aus drei Spalten "Gymnast" mit Werten ("Roxy", "Alan", "Eva", "Marcus", "Jim", "Zack", "Lana", "Robin"), Spaltenhöhe, die das speichern Höhen der Turner in Füßen (6.2, 6.0, 5.8, 6.2, 6.4, 5.9, 5.7, 6.0) und die Säule mit den Geschlechtern von Turner ('weiblich', 'männlich', 'weiblich', 'männlich', 'männlich', 'männlich', 'weiblich', 'weiblich'). Die Logik wird im Indizierungsoperator ([]) als Argument definiert.

Ähnlich wie beim letzten Beispiel filtern wir die DataFrame -Zeilen, um nur diejenigen zu extrahieren, bei denen die Datenwerte in der Spalte „Höhe“ größer als 6 sind.0.

Wie gesehen haben wir drei Reihen, bei denen der Wert größer als 6 ist.0 in der Spalte 'Höhe'. Wir können auch mehrere Bedingungen durch Verwendung und Operator definieren. Lassen Sie uns die Zeilen abrufen, an denen die Höhe weniger als 6 liegt.2 und der Wert in der Spalte "Geschlecht" ist "weiblich".

Wir haben zwei Bedingungen innerhalb des Indizierungsoperators ([]), DF ['Höhe'], angegeben < 6.2) and (df['gender'] == 'female'). The function has extracted the rows where the height is less than 6.2 and gender is equal to 'female'.

Beispiel Nr. 03: Filterung von Datenframe mit Hilfe des Slice -Operators

Es gibt Situationen, in denen Sie Daten basierend auf der Indexposition anstelle der Werte filtern müssen. Sie können schnell einen Indexbereich der DataFrame -Zeile, Spalte oder beides angeben, um mit dem extrahieren .ILOC -Methode. Erstellen wir einen DataFrame -Frame mit mehreren Spalten und um die Verwendung der ILOC [] -Funktion praktisch zu verstehen.

Der erforderliche Datenrahmen wurde unter Verwendung eines Python -Wörterbuchs in den Klammern der PD erstellt.DataFrame () -Funktion. Die DataFrame -Spalte 'Player' besteht aus dem Namen der Spieler ('Alex', 'Brock', 'Riley', 'Anna', 'Jia', 'Henry', 'Tom', 'Ron'), der 'Partitur 'Säule enthält die Punktzahl einiger kürzlich veröffentlichter Spiele (9, 9, 6, 7, 8, 10, 4, 5). Die Spalte "Ränge" repräsentiert die Ränge der Spieler (3, 2, 6, 5, 4, 1, 8, 7) und die Spalte "Klasse", in der die Noten ('a', 'a', 'c', 'B', 'B', 'A', 'D', 'C') gespeichert werden. Verwenden wir die ILOC [] -Funktion, um die Daten zu filtern.

Das erste Argument gibt fünf Datenzeilen zurück, wie wir 0: 5 angegeben haben. Dies bedeutet die Zeilen, die bei Index 0 beginnen und vor dem Index 5 enden. Zwei Datenspalten werden zurückgegeben, wie wir im zweiten Argument 1: 3 angegeben haben, wobei die Spalten angezeigt werden, die mit dem Index 1 beginnen, und enden vor Index 3 enden. Wenn Sie alle Zeilen oder Spalten abrufen möchten, können Sie diesen Argumentort (zuerst oder zweitens) mit einem Dickdarm ":" verlassen: ":".

Beispiel Nr. 04: Filterung von Datenframezeilen mit Hilfe von Query () -Funktion

Sie können einen oder mehrere Bedingungen in den Pandas angeben.Query () Methode als Zeichenfolge. Außerdem werden die Anforderung beseitigt, die Datenframezeilen mithilfe der Indizierungsoperatoren abzurufen ([],.loc,.Iloc usw.). Wir müssen zuerst einen Datenrahmen erstellen, aus dem wir die Zeilen filtern werden.

In unserem Datenrahmen befinden sich zwei Spalten: "Studenten" mit Datenwerten ("Ryan", "Wanda", "Bob", "Drew", "Natalia", "Maya", "Adam", "Nick") und "Marks" 'mit Werten (48, 35, 46, 20, 28, 30, 43, 36). Damit die Funktion query () zum Abrufen von Daten aus dem DataFrame abgerufen werden kann, können wir einen einzelnen Zustand oder mehrere Bedingungen als Zeichenfolge angeben.

Wir haben eine Bedingung angegeben, um die Zeilen abzurufen, bei denen der Wert in der Spalte der Markierungen weniger als 48 und mehr als 30 beträgt. Aus dem Datenrahmen werden vier Zeilen abgerufen, die die in der Funktion query () angegebene Bedingung erfüllen.

Beispiel # 05: Filterung von Datenframezeilen aus den Nullwerten filtern

In einigen Fällen können die Nullwerte in einem Datensatz vorhanden sein. Verwenden der Pandas.Notnull () -Funktion, es ist einfach, Zeilen mit fehlenden Werten aus dem DataFrame zu beseitigen. Erstellen wir einen Datenrahmen mit Nullwerten oder fehlenden Werten in mindestens einer seiner Spalten.

Wie in der Spalte 'Col2' (11, keine, 36, keine, keine, 21, 46, 60) zu sehen ist, fehlten einige fehlende Werte. Mit der Verwendung des Indexierungsoperators und der Funktion "Notnull () können diese Nullwerte aus dem Datenrahmen herausgefiltert werden.

Die obige Funktion hat alle Zeilen mit Nullwerten beseitigt.

Beispiel # 06: Filterung von Datenframezeilen mit Hilfe von String -Methoden

Die Beispiele dieses Tutorials konzentrierten sich hauptsächlich auf die Filterung numerischer Zahlen. Stringdaten können jedoch auch verwendet werden. Um Daten noch genauer zu filtern, können auch einige String -Funktionen verwendet werden. Verwenden wir den Datenrahmen, den wir in Beispiel 5 erstellt haben.

Sie können Datenframezeilen mithilfe der STR -Eigenschaft filtern und enthält () Funktionen () basierend auf einem bestimmten Teil eines Zeichenfolgewerts oder dem String -Wert als Ganzes. Lassen Sie uns die Zeilen mit dem spezifischen Zeichenfolge „Tiger“ in den Werten der "Col3" -Säulen abrufen.

Wir können auch Datenframezeilen nach dem Startbuchstaben der Stringwerte mithilfe der STR -Eigenschaft und der Funktion startswith () abrufen. Der Startbuchstaben der Zeichenfolge wird in der Funktion startswith () angegeben. Lassen Sie uns die Zeilen abrufen, an denen die Zeichenfolgewerte mit dem Buchstaben "a" in der Spalte "col1" beginnen.

Abschluss

In diesem Tutorial haben wir besprochen, wie der Datenrahmen nach den Werten in Pandas filtert werden. Wir haben gesehen, dass die Werte eines Datenrahmens mit mehreren verschiedenen Funktionen gefiltert werden können. Wir haben in diesem Tutorial mehrere Beispiele implementiert, um Ihnen beizubringen, wie Sie DataFrame -Zeilen mit Hilfe von DataFrame filtern.LOC [] Methode, logische oder relationale Bedingungen, Slice -Operator, Query () Funktion, Notnull () -Funktion und String -Methoden.