Pandas: как фильтровать строки, содержащие определенную строку


Вы можете использовать следующий синтаксис для фильтрации строк, содержащих определенную строку в кадре данных pandas:

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

В этом руководстве объясняется несколько примеров использования этого синтаксиса на практике со следующим кадром данных:

import pandas as pd

#create DataFrame
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» в столбце команды:

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» в столбце команды:

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

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