Pandy: jak wybierać kolumny na podstawie warunku


Aby wybrać kolumny w ramce DataFrame pandy według warunku, możesz użyć następujących metod:

Metoda 1: wybierz kolumny, w których co najmniej jeden wiersz spełnia warunek

 #select columns where at least one row has a value greater than 2
df. loc [:, (df > 2 ). any ()]

Metoda 2: Wybierz kolumny, w których wszystkie wiersze spełniają warunek

 #select columns where all rows have a value greater than 2
df. loc [:, (df > 2 ). all ()]

Metoda 3: wybierz kolumny z co najmniej jednym wierszem spełniającym wiele warunków

 #select columns where at least one row has a value between 10 and 15
df. loc [:, ((df>= 10 ) & (df<= 15 )). any ()]

Poniższe przykłady pokazują, jak używać każdej metody z następującą ramką DataFrame pand:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' apples ': [7, 3, 3, 4, 3],
                   ' oranges ': [2, 0, 2, 0, 1],
                   ' bananas ': [5, 0, 4, 0, 12]},
                    index=[' Farm1 ',' Farm2 ',' Farm3 ',' Farm4 ',' Farm5 '])

#view DataFrame
print (df)

       apples oranges bananas
Farm1 7 2 5
Farm2 3 0 0
Farm3 3 2 4
Farm4 4 0 0
Farm5 3 1 12

Przykład 1: wybierz kolumny, dla których przynajmniej jeden wiersz spełnia warunek

Możemy użyć poniższego kodu, aby wybrać kolumny z DataFrame, gdzie co najmniej jeden wiersz w kolumnie ma wartość większą niż 2:

 #select columns where at least one row has a value greater than 2
df. loc [:, (df > 2 ). any ()]

	apples bananas
Farm1 7 5
Farm2 3 0
Farm3 3 4
Farm4 0 0
Farm5 3 12

Należy zwrócić uwagę, że zwracane są kolumny jabłka i banany , ponieważ te kolumny zawierają co najmniej jeden wiersz o wartości większej niż 2.

Przykład 2: Wybierz kolumny, w których wszystkie wiersze spełniają warunek

Możemy użyć poniższego kodu, aby wybrać kolumny z ramki DataFrame, gdzie każdy wiersz w kolumnie ma wartość większą niż 2:

 #select columns where every row has a value greater than 2
df. loc [:, (df > 2 ). all ()]

	apples
Farm1 7
Farm2 3
Farm3 3
Farm4 4
Farm5 3

Należy pamiętać, że zwracana jest tylko kolumna jabłka , ponieważ jest to jedyna kolumna, w której każdy wiersz w kolumnie ma wartość większą niż 2.

Przykład 3: wybierz kolumny, dla których co najmniej jeden wiersz spełnia kilka warunków

Możemy użyć poniższego kodu, aby wybrać kolumny z ramki DataFrame, gdzie co najmniej jeden wiersz w kolumnie ma wartość od 10 do 15:

 #select columns where every row has a value greater than 2
df. loc [:, ((df>= 10 ) & (df<= 15 )). any ()]

	bananas
Farm1 5
Farm2 0
Farm3 4
Farm4 0
Farm5 12

Należy pamiętać, że zwracana jest tylko kolumna banany , ponieważ jest to jedyna kolumna, w której co najmniej jeden wiersz w kolumnie ma wartość z zakresu od 10 do 15.

Dodatkowe zasoby

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

Jak wybrać kolumny według nazwy w Pandach
Jak wybierać kolumny według indeksu w Pandach
Jak wybrać kolumny zawierające określony ciąg w Pandach

Dodaj komentarz

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