Удалить строки с указанным c строковым значением pandas - PullRequest
0 голосов
/ 02 марта 2020

У меня есть некоторый df с данными моста, где в определенных столбцах есть строка «(R)». Я хочу удалить эти строки, если значение «Blabla (R)» или «hello (R)». (так что-то с str.contains)

enter image description here

Как и на картинке, я хочу удалить строку 9. (и многие другие)

Почему выдается эта ошибка и как ее исправить?

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

Как уже упоминалось в вопросе, str.contains - это полезный инструмент для поиска по шаблону.

df.drop(df[df['name'].str.contains('R')].index.tolist())

.index возвращает Int64Index, который не повторяется, поэтому .tolist() преобразует его в список и, наконец, готов к df.drop([]).

0 голосов
/ 02 марта 2020

Если вы хотите удалить все строки, где поле road в кадре данных df равно (S), то вы можете использовать следующий код. Это удалит эти строки в одном и том же фрейме данных (df)

df.drop(index=df[df['road'] == '(R)'].index, inplace=True)
...