Вы можете использовать следующие методы для фильтрации значений в серии 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