Heim > Backend-Entwicklung > Python-Tutorial > Wie unterteile ich einen Pandas-DataFrame basierend auf mehreren Werten?

Wie unterteile ich einen Pandas-DataFrame basierend auf mehreren Werten?

Barbara Streisand
Freigeben: 2024-12-16 20:37:24
Original
210 Leute haben es durchsucht

How to Subset a Pandas DataFrame Based on Multiple Values?

Unterteilung eines Pandas-DataFrames basierend auf mehreren Werten

In Pandas ist die Unterteilung eines DataFrames basierend auf einem bestimmten Wert unkompliziert, wie das folgende Beispiel zeigt:

import pandas as pd

# Dataframe initialization
df = pd.DataFrame({'A': [5, 6, 3, 4], 'B': [1, 2, 3, 5]})

# Subset based on a single value
x = df[df['A'] == 3]
Nach dem Login kopieren

Die Herausforderung entsteht jedoch bei der Auswahl von Zeilen, die einer Werteliste entsprechen. Betrachten Sie den folgenden Anwendungsfall:

# List of values to filter on
list_of_values = [3, 6]

# Subset attempt (incorrect syntax)
y = df[df['A'] in list_of_values]
Nach dem Login kopieren

Diese Syntax führt zu einem Fehler, da Pandas eine etwas andere Syntax für die Teilmenge basierend auf mehreren Werten erfordert.

Lösung: Verwendung von isin() Methode

Der richtige Weg, einen DataFrame basierend auf einer Liste von Werten zu unterteilen, ist die Verwendung der isin()-Methode. Hier ist der korrigierte Code:

y = df[df['A'].isin(list_of_values)]
Nach dem Login kopieren

Ausgabe:

     A  B
1    6  2
2    3  3
Nach dem Login kopieren

Die isin()-Methode verwendet eine Liste oder ein Array von Werten als Eingabe und gibt einen DataFrame zurück, der Zeilen enthält, in denen die angegebene Spalte übereinstimmt Beliebiger Wert in der Eingabe.

Umgekehrte Auswahl

Um Zeilen auszuwählen, deren Spaltenwerte nicht mit der bereitgestellten Liste übereinstimmen, können Sie kann den ~-Operator in Verbindung mit isin() verwenden. Zum Beispiel:

# Inverse subset
z = df[~df['A'].isin(list_of_values)]
Nach dem Login kopieren

Ausgabe:

   A  B
0  5  1
3  4  5
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie unterteile ich einen Pandas-DataFrame basierend auf mehreren Werten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage