Pandy: jak używać zmiennej w funkcji query().


Możesz użyć następującej składni, aby użyć funkcji query() w pandach i odwołać się do nazwy zmiennej:

 df. query (' team == @team_name ')

To konkretne zapytanie wyszukuje wiersze w ramce danych pandy, w której kolumna zespołu jest równa wartości przechowywanej w zmiennej o nazwie nazwa_zespołu .

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Jak używać zmiennej w zapytaniu Pandy

Załóżmy, że mamy następującą ramkę danych pand, która zawiera informacje o różnych koszykarzach:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '],
                   ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]})

#view DataFrame
print (df)

   team position points
0 AG 22
1 AG 25
2 AF 24
3 BG 39
4 BF 34
5 BF 20
6 BF 18
7 GC 17
8 GC 20
9 CF 19
10 CF 22

Załóżmy teraz, że chcemy znaleźć wiersze, w których wartość w kolumnie zespołu jest równa C.

Możemy użyć poniższej składni, aby utworzyć zmienną o nazwie nazwa_zespołu równą „C”, a następnie odwołać się do tej zmiennej w funkcji query() :

 #specify team name to search for
team_name = ' C '

#query for rows where team is equal to team_name
df. query (' team == @team_name ')

        team position points
7 C G 17
8 C G 20
9 C F 19
10 C F 22

Należy pamiętać, że funkcja query() zwraca wszystkie wiersze, w których wartość w kolumnie zespołu jest równa C.

Pamiętaj też, że jeśli chcemy, w funkcji query() możemy odwoływać się do wielu zmiennych.

Na przykład poniższy kod pokazuje, jak używać funkcji query() do zwracania wszystkich wierszy, w których wartość w kolumnie zespołu jest równa wartości zmiennej o nazwie zespół_A lub zmiennej o nazwie zespół_C :

 #create two variables
team_A = ' A ' 
team_C = ' C '

#query for rows where team is equal to either of the two variables
df. query (' team == @team_A | team == @team_C ')

        team position points
0 A G 22
1 A G 25
2 A F 24
7 C G 17
8 C G 20
9 C F 19
10 C F 22

Zapytanie zwraca wszystkie wiersze w DataFrame, gdzie zespół jest równy wartościom zapisanym w jednej z dwóch określonych przez nas zmiennych.

Uwaga : pełną dokumentację funkcji query() pandy można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w pandach:

Pandy: Jak filtrować wiersze na podstawie długości łańcucha
Pandy: Jak usuwać wiersze na podstawie warunku
Pandy: Jak korzystać z filtra „NO IN”.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *