• Użycie loc na wierszach - najbardziej intuicyjne
    • działa na zasadzie tworzenia wektorów logicznych
    • w loc pierwszy argument to wiersze, więc nie trzeba już podawać następnego argumentu z kolumnami - domyślnie będą wybierane wszystkie
# Standardowe wybranie wierszy spełniających warunek logiczny
df.loc[(df['Sales'] >= 50) & (df['Sales'] != 70)]
 
# Albo trochę bardziej czytelnie...
cond1 = df['Sales'] >= 50 
cond2 = df['Sales'] != 70
 
df.loc[cond1 & cond2]
 
# Albo tak
selection = df['Product'].isin(['Apple', 'Banana'])
 
df.loc[cond1 & cond2 & selection]
  • query() pozwala na filtrację danych przy użyciu wyrazu logicznego, podobnego do SQL
    • jako, że zapytanie jest tekstem, aby odwołać się do zmiennej środowiskowej należy użyć @
    • zwykle bardziej wydajne niż loc
df.query('Sales >= 50 & Sales != 70')  # wybór wierszy z `Sales` >= 50, ale różnym od 70
 
# Użycie zmiennej środowiskowej
threshold=100
df.query('Sales < @threshold') # znak @ przed zmienną