Pandas: как фильтровать серии по значению


Вы можете использовать следующие методы для фильтрации значений в серии pandas:

Способ 1: фильтрация значений по одному условию

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

Способ 2: фильтрация значений с использованием условия «ИЛИ»

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

Способ 3: фильтрация значений с использованием условия «И»

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

Способ 4: отфильтровать значения, содержащиеся в списке

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

В этом руководстве объясняется, как использовать каждый метод на практике со следующими сериями панд:

 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

Пример 1. Фильтрация значений по условию

Следующий код показывает, как фильтровать серию pandas по значениям, равным 7:

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

1 7
2 7
dtype: int64

Также мы можем фильтровать значения , не равные 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

Пример 2. Фильтрация значений с использованием условия «ИЛИ»

Следующий код показывает, как фильтровать серию pandas для значений меньше 10 или больше 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

Пример 3: Фильтрация значений с использованием условия «И»

Следующий код показывает, как фильтровать серию pandas по значениям больше 10 и меньше 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

Пример 4: отфильтровать значения, содержащиеся в списке

Следующий код показывает, как фильтровать серию pandas по значениям, содержащимся в списке:

 #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

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции фильтрации в Python:

Как фильтровать строки Pandas DataFrame, содержащие определенную строку
Как фильтровать DataFrame Pandas по нескольким условиям
Как использовать фильтр «НЕ В» в Pandas DataFrame

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *