Pandas: як фільтрувати рядки, що містять певний рядок


Ви можете використовувати такий синтаксис, щоб фільтрувати рядки, що містять певний рядок у pandas DataFrame:

 df[df[" col "]. str . contains (“ this string ”)]

Цей підручник пояснює кілька прикладів практичного використання цього синтаксису з таким DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C'],
                   ' conference ': ['East', 'East', 'East', 'West', 'West', 'East'],
                   ' points ': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

        team conference points
0 A East 11
1 A East 8
2 A East 10
3 B West 6
4 B West 6
5 C East 5

Приклад 1: фільтрування рядків, що містять певний рядок

Наступний код показує, як фільтрувати рядки в DataFrame, які містять «A» у стовпці team:

 df[df[" team "]. str . contains (“ A ”)]

	team conference points
0 A East 11
1 A East 8
2 A East 10

Зберігаються лише рядки, колонка команди яких містить «A».

Приклад 2: фільтрування рядків, що містять рядок у списку

Наступний код показує, як фільтрувати рядки в DataFrame, які містять «A» або «B» у стовпці team:

 df[df[" team "]. str . contains (“ A|B ”)]

	team conference points
0 A East 11
1 A East 8
2 A East 10
3 B West 6
4 B West 6

Зберігаються лише рядки, колонка команди яких містить «A» або «B».

Приклад 3: фільтрування рядків, що містять частковий рядок

У попередніх прикладах ми фільтрували на основі рядків, які точно відповідають одному чи кільком рядкам.

Однак, якщо ми хочемо відфільтрувати рядки, що містять частковий рядок, ми можемо використати такий синтаксис:

 #identify partial string to look for
keep=[" Wes "]

#filter for rows that contain the partial string "Wes" in the conference column
df[df. conference . str . contains (' | ' .join (keep))]

	team conference points
3 B West 6
4 B West 6

Зберігаються лише ті рядки, де стовпець конференції містить «Wes».

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:

Як видалити рядки в Pandas DataFrame на основі умови
Як відфільтрувати Pandas DataFrame за кількома умовами
Як використовувати фільтр «NOT IN» у Pandas DataFrame

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

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