Как удалить строки на основе определенных значений столбца данных? - PullRequest
0 голосов
/ 15 мая 2018

У меня есть фрейм данных df, в котором есть столбец var.

Этот столбец имеет различные значения, например medium,large,my (gold),light (silver) и т. Д.

Теперь мне нужноудалить строки из этого фрейма данных, которые имеют значения (gold) или (silver) в столбце 'var'.

Я пробовал с этим:

df = df[df['var'] != '(silver)']
df = df[df['var'] != '(gold)']

Но это не работаетпотому что столбец не имеет точного значения как (серебро) или (золото).Вместо этого эти значения являются частью некоторой строки.

Пожалуйста, предложите, как это сделать.

1 Ответ

0 голосов
/ 15 мая 2018

Вы можете использовать pd.str.contains с re.escape:

import re

query = '|'.join([re.escape(i) for i in ['(gold)', '(silver)']])

df = df[~df['var'].str.contains(query)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...