Pandas .loc возвращает ошибку ключа для некоторых ярлыков - PullRequest
0 голосов
/ 22 марта 2019

Я делаю функцию, которая возвращает id для ввода имени продукта.


                   id
pName   
ZYMOFLAM D TAB 10s  1
ZYROP INJ 10000IU   2
ZYROP INJ 4000IU    3
ZYTANIX TAB 5MG 10s 4
ZYTEE RB GEL 10ML   5

df.loc['ZYTANIX TAB 5MG 10s']

возвращает

id    4
Name: ZYTANIX TAB 5MG 10s, dtype: int64

но df.loc['ZYTEE RB GEL 10ML'] возвращает KeyError

Почему это происходит?

1 Ответ

0 голосов
/ 22 марта 2019

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

df = df.reset_index()
df['pName'] = df.pName.apply(lambda x: ' '.join(x.strip().split(' ')))
df = df.set_index('pName')

сейчас попробуйте

df.loc['ZYTEE RB GEL 10ML']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...