Вы можете использовать следующий синтаксис для удаления строк, содержащих определенную строку в кадре данных pandas:
df[df["col"].str.contains("this string")== False ]**
В этом руководстве объясняется несколько примеров использования этого синтаксиса на практике со следующим кадром данных:
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")== False ]
# team conference points
#3 B West 6
#4 B West 6
#5 C East 5**
Пример 2. Удаление строк, содержащих строку в списке
В следующем коде показано, как удалить все строки в DataFrame, содержащие «A» или «B» в столбце команды:
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**
Вы можете найти больше руководств по pandas на этой странице .