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.
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]
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)]
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.
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)]
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!