Удалить конкретные значения, содержащиеся в DataFrame - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь проверить, содержится ли определенное значение где-либо в определенном столбце моего фрейма данных.Я использую следующий код, где он должен очистить данные, содержащие «0.0».Тем не менее, казалось, что это очистка данных, которые также не содержат «0.0».

mydataset = mydataset[mydataset['Latitude'].astype(str).str.contains('0.0') == False]

Пример данных следующий.Выделены красным - данные удаляются после применения вышеуказанного кода.

Sample Data

Ответы [ 2 ]

1 голос
/ 29 мая 2019

Вот проблема . в регулярных выражениях - специальный символ, поэтому нужно regex=False или экранировать его на \, для использования инвертированной маски ~:

mydataset = mydataset[~mydataset['Latitude'].astype(str).str.contains('0.0', regex=False)]

Или:

mydataset = mydataset[~mydataset['Latitude'].astype(str).str.contains('0\.0')]
0 голосов
/ 29 мая 2019

Если вы используете фрейм данных pandas, вы можете условно удалить строки из вашего фрейма данных следующим образом:

mydataset = mydataset[str(mydataset.Latitude) != '0.0']

Если вы пытаетесь удалить все 0 значений, а не только 0.0, не конвертируйтев строку, и он должен сбросить любое значение 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...