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