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


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

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

Цей підручник пояснює кілька прикладів практичного використання цього синтаксису з таким 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 ")== False ]

        team conference points
3 B West 6
4 B West 6
5 C East 5

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

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

 df[df[" team "]. str . contains (" A|B ")== False ]

	team conference points
5 C East 5

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

У попередніх прикладах ми видаляли рядки на основі рядків, які точно збігалися з одним або кількома рядками.

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

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

#drop rows that contain the partial string "Wes" in the conference column
df[~df. conference . str . contains (' | ' .join (discard))]

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

Ви можете знайти більше посібників щодо панди на цій сторінці .

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

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