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 DataFrame за кількома умовами
Як використовувати фільтр «NOT IN» у Pandas DataFrame

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *