Heim > Backend-Entwicklung > Python-Tutorial > Wie wähle ich bestimmte Zeilen in einem Pandas-DataFrame basierend auf Spaltenwerten aus?

Wie wähle ich bestimmte Zeilen in einem Pandas-DataFrame basierend auf Spaltenwerten aus?

Patricia Arquette
Freigeben: 2024-12-30 15:30:13
Original
234 Leute haben es durchsucht

How to Select Specific Rows in a Pandas DataFrame Based on Column Values?

Auswählen von Zeilen basierend auf Spaltenwerten in Pandas

In Pandas kann das Filtern eines DataFrames zur Auswahl bestimmter Zeilen basierend auf Spaltenwerten mithilfe einer Kombination aus Vergleichsoperatoren und erfolgen Boolesche Indizierung.

Vergleichen von Spaltenwerten

Zum Auswählen von Zeilen, in denen ein Spaltenwert mit einem bestimmten Wert übereinstimmt Skalarwert verwenden Sie den ==-Operator:

df.loc[df['column_name'] == some_value]
Nach dem Login kopieren

Um Zeilen auszuwählen, in denen sich ein Spaltenwert in einer Liste oder einem anderen iterierbaren Wert befindet, verwenden Sie den isin-Operator:

df.loc[df['column_name'].isin(some_values)]
Nach dem Login kopieren

Kombinationsbedingungen

Mehrere Bedingungen können mit dem &-Operator kombiniert werden, um Zeilen auszuwählen, die alle erfüllen Bedingungen:

df.loc[(df['column_name'] >= A) & (df['column_name'] <= B)]
Nach dem Login kopieren

Beachten Sie, dass Klammern erforderlich sind, um die richtige Operatorpriorität sicherzustellen.

Negierende Bedingungen

Zum Auswählen von Zeilen, die nicht mit einem bestimmten Wert übereinstimmen oder nicht vorhanden sind Um eine bestimmte Liste anzuzeigen, negieren Sie die Bedingung mit != oder ~:

df.loc[df['column_name'] != some_value]
df = df.loc[~df['column_name'].isin(some_values)] # In-place replacement requires `loc`
Nach dem Login kopieren

Index Optimierung

Für eine effiziente Filterung nach häufig verwendeten Kriterien kann es hilfreich sein, einen Index für die Spalte zu erstellen. Dies ermöglicht schnellere Suchvorgänge mit df.loc:

df = df.set_index(['B'])
df.loc['one']
Nach dem Login kopieren

Beispiele

Berücksichtigen Sie den folgenden DataFrame:

df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
                   'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
                   'C': np.arange(8), 'D': np.arange(8) * 2})
Nach dem Login kopieren

Zum Auswählen von Zeilen, in denen Spalte „A“ gleich „ foo':

print(df.loc[df['A'] == 'foo'])
Nach dem Login kopieren

Um Zeilen auszuwählen, in denen sich Spalte 'B' in ['one'] befindet, 'drei']:

print(df.loc[df['B'].isin(['one','three'])])
Nach dem Login kopieren

Um Zeilen auszuwählen, in denen Spalte 'B' 'eins' oder 'zwei' ist:

df = df.set_index(['B'])
print(df.loc[df.index.isin(['one','two'])])
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie wähle ich bestimmte Zeilen in einem Pandas-DataFrame basierend auf Spaltenwerten aus?. 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