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

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

Susan Sarandon
Susan SarandonOriginal
2024-12-26 13:20:10337Durchsuche

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

Auswählen von Zeilen basierend auf Spaltenwerten in Pandas DataFrames

Bei der Arbeit mit Pandas DataFrames besteht häufig die Notwendigkeit, Zeilen basierend auf bestimmten Werten in einer bestimmten Spalte zu filtern. Dies imitiert SQL-Abfragen, bei denen Zeilen mithilfe von Filtern wie WHERE Column_name = some_value abgerufen werden.

Skalare Werte

Um Zeilen auszuwählen, in denen ein Spaltenwert mit einem Skalarwert, some_value, übereinstimmt, verwenden Sie den Gleichheitsoperator == :

df.loc[df['column_name'] == some_value]

Iterierbare Werte

Zur Auswahl Zeilen, in denen sich ein Spaltenwert in einem Array befindet, some_values, verwenden Sie die isin-Methode:

df.loc[df['column_name'].isin(some_values)]

Bedingungen kombinieren

Mehrere Bedingungen können mit dem logischen &-Operator kombiniert werden:

df.loc[(df['column_name'] >= A) & (df['column_name'] <= B)]

Hinweis: Verwenden Sie Klammern, um sicherzustellen, dass der Operator Vorrang hat richtig.

Negationen

Um Zeilen auszuwählen, in denen ein Spaltenwert nicht gleich some_value ist, verwenden Sie den Ungleichheitsoperator !=:

df.loc[df['column_name'] != some_value]

Für isin negieren Sie das Ergebnis mit ~:

df = df.loc[~df['column_name'].isin(some_values)]

Beispiele

Bedenken Sie Folgendes DataFrame:

import pandas as pd

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})
print(df)

Wählen Sie Zeilen aus, in denen A foo ist:

print(df.loc[df['A'] == 'foo'])

Wählen Sie Zeilen aus, in denen B eins oder drei ist:

print(df.loc[df['B'].isin(['one', 'three'])])

Erstellen Sie einen Index und wählen Sie Zeilen mit aus it:

df = df.set_index(['B'])
print(df.loc['one'])

Zeilen mit mehreren indizierten Werten auswählen:

print(df.loc[df.index.isin(['one', 'two'])])

Das obige ist der detaillierte Inhalt vonWie wähle ich bestimmte Zeilen in Pandas-DataFrames basierend auf Spaltenwerten aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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