Очистка Dataframe в Python 3 - PullRequest
0 голосов
/ 03 мая 2018

У меня есть датафрейм (hasleft), полный людей, которые оставили службу, и их причина ухода. Их причина - столбец text, но некоторые из них не являются строками. Не так много, поэтому я просто хочу удалить эти строки, либо на месте, либо в новый фрейм данных. Приведенный ниже код просто дает мне фрейм данных, заполненный только NaN. Почему это не работает?

cleanedleft = pd.DataFrame()
cleanedleft = haveleft[haveleft[haveleft['text'] == str]]
print(holder[0:10])

или если я удаляю один из 'haveleft []', я получаю пустой фрейм данных

cleanedleft = pd.DataFrame()
cleanedleft = haveleft[haveleft['text'] == str]
print(holder[0:10])

Я пытался добавить тип (), но не могу понять, как это сделать.

1 Ответ

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

Не работает, потому что столбцы DataFrame не могут содержать смешанные типы; Ваш столбец text будет строкой или объектом, даже если некоторые значения являются числовыми. Вы хотите выяснить, как охарактеризовать нежелательные данные и отбросить их соответствующим образом.

Например, для удаления строк, где «текст» состоит только из цифр, как в приведенном вами однострочном примере:

cleaned = df[~df['text'].str.match('^\d+$')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...