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