Фильтрация данных в фрейме pandas, который не может вернуть записи для значения, содержащегося в поле - PullRequest
0 голосов
/ 04 мая 2018

У меня есть код ниже, который просто фильтрует фрейм данных для определенного значения. Но код возвращает 0 записей, и я не могу понять, почему, поскольку значение явно содержится в поле. Любые советы приветствуются.

Code

df[df[‘blah_id’]==‘blahMEB’].head()



Example data:
Print df.blah_id[1:5]

9         7477
20     blahMEB 
24     blahMDR 
44     blahMAU 
Name: blah_id, dtype: object

1 Ответ

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

Если ряд действительно соответствует вашим выводам, то логическая причина в том, что есть пробел, который вы не видите. То есть, возможно, одна из записей - 'blahMEB '.

Использование pd.Series.str.strip удалит пробелы. Попробуйте использовать вместо

df[df['blah_id'].str.strip()=='blahMEB'].head()

Например

df = pd.DataFrame(dict(blah_id=['blahMEB ', 'foo']))
>>> len(df[df['blah_id']=='blahMEB']), len(df[df['blah_id'].str.strip()=='blahMEB'])
(0, 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...