Pandy: jak wybierać wiersze na podstawie wartości kolumn


Aby wybrać wiersze w ramce DataFrame pandy na podstawie wartości kolumn, możesz użyć dowolnej z następujących metod:

Metoda 1: Wybierz wiersze, w których kolumna ma określoną wartość

 df. loc [df[' col1 '] == value]

Metoda 2: Wybierz wiersze, w których na liście wartości znajduje się wartość kolumny

 df. loc [df[' col1 ']. isin ([value1, value2, value3, ...])]

Metoda 3: Wybierz wiersze na podstawie warunków wielu kolumn

 df. loc [(df[' col1 '] == value) & (df[' col2 '] < value)]

Poniższy przykład pokazuje, jak używać każdej metody z następującą ramką DataFrame pand:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' blocks ': [4, 7, 7, 6, 5, 8, 9, 10]})

#view DataFrame
df

	team points rebound blocks
0 A 5 11 4
1 To 7 8 7
2 B 7 10 7
3 B 9 6 6
4 B 12 6 5
5 C 9 5 8
6 C 9 9 9
7 C 4 12 10

Metoda 1: Wybierz wiersze, w których kolumna ma określoną wartość

Poniższy kod pokazuje, jak wybrać każdy wiersz ramki DataFrame, w którym kolumna „punkty” ma wartość 7:

 #select rows where 'points' column is equal to 7
df. loc [df[' points '] == 7]

	team points rebound blocks
1 To 7 8 7
2 B 7 10 7

Metoda 2: Wybierz wiersze, w których na liście wartości znajduje się wartość kolumny

Poniższy kod pokazuje, jak wybrać każdy wiersz ramki DataFrame, w którym kolumna „punkty” ma wartość 7, 9 lub 12:

 #select rows where 'points' column is equal to 7
df. loc [df[' points ']. isin ([7, 9, 12])]

        team points rebound blocks
1 To 7 8 7
2 B 7 10 7
3 B 9 6 6
4 B 12 6 5
5 C 9 5 8
6 C 9 9 9

Metoda 3: Wybierz wiersze na podstawie warunków wielu kolumn

Poniższy kod pokazuje, jak wybrać każdy wiersz ramki DataFrame, w którym kolumna „zespół” jest równa „B”, a kolumna „punkty” jest większa niż 8:

 #select rows where 'team' is equal to 'B' and points is greater than 8
df. loc [(df[' team '] == ' B ') & (df[' points '] > 8)]

	team points rebound blocks
3 B 9 6 6
4 B 12 6 5

Należy pamiętać, że zwracane są tylko dwie linie, w których drużyna równa się „B” i „punkty” są większe niż 8.

Dodatkowe zasoby

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

Jak wybierać wiersze według indeksu w Pandach
Jak wybrać pojedyncze wiersze w Pandach
Jak wybrać wiersze, w których wartość pojawia się w dowolnej kolumnie w Pandach

Dodaj komentarz

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