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, содержащие определенную строку
Как фильтровать кадр данных Pandas по нескольким условиям
Как использовать фильтр «НЕ В» в Pandas DataFrame

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.