Pandas -Filter nach Index

Pandas -Filter nach Index

Mit "filter ()" können wir einen Datenrahmen basierend auf Indizes filtern. Mit dieser Technik sind die Zeilen oder Spalten des DataFrame eine Teilmenge des ursprünglichen Datenrahmens gemäß den angegebenen Etiketten im angegebenen Index.

Es gibt verschiedene Methoden, um die Zeilen des Datenrahmens basierend auf ihrem Index zu filtern. In diesem Tutorial liegt unser Hauptaugenmerk auf der Funktion filter (). Überprüfen wir zuerst die Syntax, damit wir die Daten filtern können. Die Methode gibt ein Objekt des gleichen Typs wie die als Eingabe verwendet, die als Eingabe verwendet wird.

Syntax:

DataFrame_Object.filter (items = keine, wie = keine, regex = keine, axis = keine)

Parameter:

    1. Artikel: Es erfordert eine Liste der Achsenbezeichnungen, die Sie filtern möchten.
    2. wie: Behalten Sie die Informationsachse, in der "arg in col == true" ist. Die Achsschnurkabel, die wir filtern möchten.
    3. Regex: Behalten Sie die Info -Achse dort, wo Re.Suche (regex, col) == true.
    4. Achse: Die Achse, für die 'Index' oder 0, "Spalten" oder 1, keine filtert werden soll. Standardmäßig ist dies die Informationsachse. Für Serien ist es "Index". Für DataFrame sind es "Spalten".

Da wir die Syntax gesehen haben, demonstrieren wir die Funktion filter () in den folgenden Beispielen:

Beispiel 1: Filter nach numerischer Index

Erstellen Sie den DateFrame mit 2 Spalten, die 5 Datensätze enthalten, und geben Sie nur die jeweiligen Zeilen basierend auf dem Index zurück.

Pandas importieren
Hobbys = Pandas.DataFrame ('Stud_name': ['Stud 1', 'Stud 2', 'Stud 3', 'Stud 4', 'Stud 5'],
'Hobbies': ['Musik', 'singen', 'tanzen', 'spiel', 'trinken'])
Druck (Hobbys)
drucken()
# Nur die erste Reihe bekommen
Druck (Hobbys.Filter ([0], Achse = 0))
drucken()
# Nur fünfte Reihe bekommen
Druck (Hobbys.Filter ([4], Achse = 0))


Ausgang:

Stud_name Hobbys
0 Stud 1 Musik
1 Stud 2 singen
2 Stud 3 Tanz
3 Stud 4 Play
4 Gestüt 5 Drink
Stud_name Hobbys
0 Stud 1 Musik
Stud_name Hobbys
4 Gestüt 5 Drink


Erläuterung:

    1. In der ersten Ausgabe haben wir die erste Zeile mit Index-0 zurückgegeben.
    2. In der zweiten Ausgabe haben wir die fünfte Zeile mit Index-4 zurückgegeben.

Beispiel 2: Filter nach mehreren numerischen Indizes

Erstellen Sie den DateFrame mit 2 Spalten, die 5 Datensätze enthalten, und geben Sie jeweils nur die jeweiligen Zeilen basierend auf dem Index zurück.

Pandas importieren
Hobbys = Pandas.DataFrame ('Stud_name': ['Stud 1', 'Stud 2', 'Stud 3', 'Stud 4', 'Stud 5'],
'Hobbies': ['Musik', 'singen', 'tanzen', 'spiel', 'trinken'])
# Holen Sie sich die ersten beiden Zeilen
Druck (Hobbys.filter (items = [0,1], axis = 0))
drucken()
# Holen Sie sich nur den zweiten, dritten und fünften Reihen
Druck (Hobbys.Filter (Elemente = [1,2,4], Achse = 0))


Ausgang:

Stud_name Hobbys
0 Stud 1 Musik
1 Stud 2 singen
Stud_name Hobbys
1 Stud 2 singen
2 Stud 3 Tanz
4 Gestüt 5 Drink


Erläuterung:

    1. In der ersten Ausgabe haben wir die ersten und zweiten Zeilen gleichzeitig mit Index-0 und 1 zurückgegeben.
    2. In der zweiten Ausgabe kehrten wir die zweiten, dritten und fünften Zeilen mit Index-1, 2 und 4 zurück.

Beispiel 3: Filter nach nicht-numerischer Index

Erstellen Sie den DateFrame mit 3 Spalten, die 4 Datensätze enthalten, und geben Sie nur die jeweiligen Zeilen basierend auf dem Index getrennt zurück. Hier ist der Index von “.String ”-Typ.

Pandas importieren
Reise = Pandas.DataFrame ('von': ['City 1', 'City 1', 'City 3', 'City 4'],
'zu': ['ap', 'USA', 'City 2', 'City 1'],
'Distanz': [200.500.466.100],
Index = ['Passagier 1', 'Passagier 2', 'Passagier 3', 'Passagier 4'])
Druck (Reise)
drucken()
# Holen Sie sich die Zeile, in der Index-'Pasger 3 '.
Druck (Reise.Filter (Elemente = ['Passagier 3'], Achse = 0))
drucken()
# Holen Sie sich die Zeile, in der Index-'Pasger 1 '.
Druck (Reise.Filter (Elemente = ['Passagier 1'], Achse = 0))


Ausgang:

von bis zur Entfernung
Passagier 1 Stadt 1 AP 200
Passagier 2 Stadt 1 USA 500
Passagier 3 Stadt 3 Stadt 2 466
Passagier 4 Stadt 4 Stadt 1 100
von bis zur Entfernung
Passagier 3 Stadt 3 Stadt 2 466
von bis zur Entfernung
Passagier 1 Stadt 1 AP 200


Erläuterung:

    1. In der ersten Ausgabe haben wir die dritte Reihe mit Index- "Passagier 3" zurückgegeben.
    2. In der zweiten Ausgabe haben wir die erste Zeile mit Index- "Passagier 1" zurückgegeben.

Beispiel 4: Filter nach mehreren nicht numerischen Indizes

Geben Sie die letzten drei Zeilen gleichzeitig basierend auf dem Index zurück.

Pandas importieren
Reise = Pandas.DataFrame ('von': ['City 1', 'City 1', 'City 3', 'City 4'],
'zu': ['ap', 'USA', 'City 2', 'City 1'],
'Distanz': [200.500.466.100],
Index = ['Passagier 1', 'Passagier 2', 'Passagier 3', 'Passagier 4'])
# Holen Sie sich die Reihe, in der Index- 'Passagier 2', 'Passagier 3', 'Passagier 4'
Druck (Reise.Filter (Elemente = ['Passagier 2', 'Passagier 3', 'Passagier 4'], Axis = 0))


Ausgang:

von bis zur Entfernung
Passagier 2 Stadt 1 USA 500
Passagier 3 Stadt 3 Stadt 2 466
Passagier 4 Stadt 4 Stadt 1 100

Beispiel 5: Filter mit dem Parameter ähnlichen

Verwenden wir den Parameter "Gefällt mir", um die Zeilen basierend auf dem Index wie "Passagier" und "R 1" einzeln zurückzugeben.

Pandas importieren
Reise = Pandas.DataFrame ('von': ['City 1', 'City 1', 'City 3', 'City 4'],
'zu': ['ap', 'USA', 'City 2', 'City 1'],
'Distanz': [200.500.466.100],
Index = ['Passagier 1', 'Passagier 2', 'Passagier 3', 'Passagier 4'])
# Holen Sie sich die Zeile, in der der Index wie "Passagier" ist.
Druck (Reise.filter (wie = 'passger', axis = 0))
drucken()
# Holen Sie sich die Zeile, in der der Index wie "R 1" ist.
Druck (Reise.filter (wie = 'r 1', axis = 0))


Ausgang:

von bis zur Entfernung
Passagier 1 Stadt 1 AP 200
Passagier 2 Stadt 1 USA 500
Passagier 3 Stadt 3 Stadt 2 466
Passagier 4 Stadt 4 Stadt 1 100
von bis zur Entfernung
Passagier 1 Stadt 1 AP 200


Erläuterung:

    1. Alle Indizes enthalten "Passagier". So wurden alle Zeilen in der ersten Ausgabe zurückgegeben.
    2. Nur ein Index ist wie "R 1". Die Zeile mit Index - „Passagier 1“ wird also in der zweiten Ausgabe zurückgegeben.

Beispiel 6:

Betrachten wir den Datenrahmen mit den Indizes - ['Sravan', 'Ravan', 'Pavan', 'Ravi'] und geben dann die Zeilen mit Indizes wie „N“ und „M“ getrennt zurück.

Pandas importieren
Reise = Pandas.DataFrame ('von': ['City 1', 'City 1', 'City 3', 'City 4'],
'zu': ['ap', 'USA', 'City 2', 'City 1'],
'Distanz': [200.500.466.100],
Index = ['Sravan', 'Ravan', 'Pavan', 'Ravi'])
# Holen Sie sich die Zeile, in der der Index wie 'n' ist '.
Druck (Reise.filter (wie = 'n', axis = 0))
drucken()
# Holen Sie sich die Zeile, in der der Index wie "M" ist.
Druck (Reise.filter (wie = 'm', axis = 0))


Ausgang:

von bis zur Entfernung
Sravan City 1 AP 200
Ravan City 1 USA 500
Pavan City 3 City 2 466
Leerer DataFrame
Spalten: [von, bis, Entfernung]
Index: []


Erläuterung:

    1. Es gibt drei Zeilen, in denen der Index „N“ umfasst.
    2. Es gibt keine Reihe, in der die Indizes "M" enthalten. Der leere Datenrahmen wird also zurückgegeben.

Abschluss

Wir haben Ihnen beigebracht, wie Sie die DataFrame -Zeilen basierend auf ihren Indizes in Pandas abrufen können. Wir haben die Syntax der Funktion filter () zuerst gesehen, um ihre Parameter und die Arbeit der Filterfunktion zu verstehen. Wir haben die verschiedenen Beispiele implementiert, um Ihnen beizubringen, wie Sie einen Datenrahmen unter Verwendung der Indizes numerischer Werte und nicht numerischer Werte filtern können. Wir haben auch einige Beispiele implementiert, um zu erklären, wie Sie einen Datenrahmen für die Indizes filtern können, die ein bestimmtes Zeichen oder eine bestimmte Zeichenfolge enthalten.