Pandy: wyodrębnij wartość kolumny na podstawie innej kolumny


Możesz użyć funkcji query() w pandach, aby wyodrębnić wartość z jednej kolumny na podstawie wartości z innej kolumny.

Ta funkcja wykorzystuje następującą podstawową składnię:

 df. query (" team=='A' ")[" points "]

Ten konkretny przykład wyodrębni każdą wartość z kolumny punktów , gdzie kolumna zespołu jest równa A.

Poniższe przykłady pokazują, jak w praktyce używać tej składni z następującą ramką DataFrame pand:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [11, 28, 10, 26, 6, 25, 29, 12]})

#view DataFrame
print (df)

  team position points
0 AG 11
1 AG 28
2 AF10
3AF 26
4 BG 6
5 BG 25
6 BF 29
7 BF 12

Przykład 1: Wyodrębnij wartości kolumn na podstawie spełnionego warunku

Poniższy kod pokazuje, jak wyodrębnić każdą wartość z kolumny punktów , w której wartość w kolumnie zespołu jest równa „A”:

 #extract each value in points column where team is equal to 'A'
df. query (" team=='A' ")[" points "]

0 11
1 28
2 10
3 26
Name: points, dtype: int64

Ta funkcja zwraca cztery wartości w kolumnie punktów , gdzie odpowiadająca wartość w kolumnie zespołu jest równa „A”.

Przykład 2: Wyodrębnij wartości kolumn na podstawie jednego z wielu spełnionych warunków

Poniższy kod pokazuje, jak wyodrębnić każdą wartość z kolumny punktów , gdzie wartość w kolumnie zespołu jest równa „A” lub wartość w kolumnie pozycji jest równa „G”:

 #extract each value in points column where team is 'A' or position is 'G'
df. query (" team=='A' | position=='G' ")[" points "]

0 11
1 28
2 10
3 26
4 6
5 25
Name: points, dtype: int64

Ta funkcja zwraca sześć wartości w kolumnie punktów , gdzie odpowiadająca wartość w kolumnie zespołu jest równa „A” lub wartość w kolumnie pozycji jest równa „G”.

Przykład 3: Wyodrębnij wartości kolumn na podstawie spełnienia wielu warunków

Poniższy kod pokazuje, jak wyodrębnić każdą wartość z kolumny punktów , gdzie wartość w kolumnie zespołu jest równa „A” , a wartość w kolumnie pozycji jest równa „G”:

 #extract each value in points column where team is 'A' and position is 'G'
df. query (" team=='A' & position=='G' ")[" points "]

0 11
1 28
Name: points, dtype: int64

Ta funkcja zwraca dwie wartości w kolumnie punktów , gdzie odpowiadająca wartość w kolumnie zespołu jest równa „A” , a wartość w kolumnie pozycji jest równa „G”.

Dodatkowe zasoby

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

Pandy: jak wybierać kolumny na podstawie warunku
Pandy: usuń wiersze na podstawie wielu warunków
Pandy: zaktualizuj wartości kolumn w oparciu o inną DataFrame

Dodaj komentarz

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