Pandy: jak filtrować serie według wartości


Do filtrowania wartości w serii pand możesz użyć następujących metod:

Metoda 1: Filtruj wartości na podstawie jednego warunku

 #filter for values equal to 7
my_series. loc [ lambda x:x == 7]

Metoda 2: Filtruj wartości za pomocą warunku „LUB”.

 #filter for values less than 10 or greater than 20
my_series. loc [ lambda x: (x < 10) | (x > 20)]

Metoda 3: Filtruj wartości za pomocą warunku „AND”.

 #filter for values greater than 10 and less than 20
my_series. loc [ lambda x: (x > 10) & (x < 20)] 

Metoda 4: Przefiltruj wartości zawarte na liście

 #filter for values that are equal to 4, 7, or 23
my_series[my_series. isin ([4, 7, 23])]

W tym samouczku wyjaśniono, jak zastosować każdą metodę w praktyce w przypadku następujących serii pand:

 import pandas as pd

#create pandas Series
data = pd. Series ([4, 7, 7, 12, 19, 23, 25, 30])

#view pandas Series
print (data)

0 4
1 7
2 7
3 12
4 19
5 23
6 25
7 30
dtype: int64

Przykład 1: Filtruj wartości na podstawie warunku

Poniższy kod pokazuje, jak filtrować serię pand dla wartości równych 7:

 #filter for values equal to 7
data. loc [ lambda x:x == 7]

1 7
2 7
dtype: int64

Możemy również filtrować wartości różne od 7:

 #filter for values not equal to 7
data. loc [ lambda x:x != 7]

0 4
3 12
4 19
5 23
6 25
7 30
dtype: int644

Przykład 2: Filtruj wartości za pomocą warunku „LUB”.

Poniższy kod pokazuje, jak filtrować serię pand dla wartości mniejszych niż 10 lub większych niż 20:

 #filter for values less than 10 or greater than 20
data. loc [ lambda x: (x < 10) | (x > 20)]

0 4
1 7
2 7
5 23
6 25
7 30
dtype: int64

Przykład 3: Filtruj wartości za pomocą warunku „AND”.

Poniższy kod pokazuje, jak filtrować serię pand dla wartości większych niż 10 i mniejszych niż 20:

 #filter for values greater than 10 and less than 20
data. loc [ lambda x: (x > 10) & (x < 20)]

3 12
4 19
dtype: int64

Przykład 4: przefiltruj wartości zawarte na liście

Poniższy kod pokazuje jak filtrować serię pand pod kątem wartości zawartych na liście:

 #filter for values that are equal to 4, 7, or 23
data[data. isin ([4, 7, 23])]

0 4
1 7
2 7
5 23
dtype: int64

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje filtrowania w Pythonie:

Jak filtrować wiersze Pandas DataFrame zawierające określony ciąg
Jak filtrować ramkę danych Pandas pod wieloma warunkami
Jak korzystać z filtra „NIE W” w Pandas DataFrame

Dodaj komentarz

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