Почему я получаю ключевую ошибку с оператором lo c в кадре данных с известным столбцом, который печатается правильно - PullRequest
0 голосов
/ 05 апреля 2020

Я получаю ключевую ошибку в столбце, который существует под именем, которое я пытаюсь использовать в операторе loc.

product = products_df.loc[products_df['product_id'] == 6]

Перед оператором loc я распечатал первые пять строк фрейма данных.

print(products_df.head())

<<<<<<< HEAD
NaN product_id product_name                                       aisle_id department_id        price
0   1          Chocolate Sandwich Cookies                         61       19                    2.99
1   2          All-Seasons Salt                                   104      13                    7.99
2   3          Robust Golden Unsweetened Oolong Tea               94       7                     2.99
3   4          Smart Ones Classic Favorites Mini Rigatoni With... 38       1                     2.99

* Сложно сказать, как здесь описывается фрейм данных. , Таким образом, столбец существует, но оператор loc дает мне ключевую ошибку.

Ошибка, которую я получаю конкретно:

Traceback (most recent call last):
  File "/Users/scottmcmahan/.local/share/virtualenvs/inventory-mh3G_UMG/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 2646, in get_loc
    return self._engine.get_loc(key)
  File "pandas/_libs/index.pyx", line 111, in 
    pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 138, in 
    pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 1619, in 
    pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 1627, in 
    pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'product_id'

1 Ответ

0 голосов
/ 05 апреля 2020

Если вам нужно отфильтровать, используйте метод query, поскольку он создаст новый фрейм данных

products = products_df.query('product_id == 6')

Если это не сработает, укажите способ репликации.

...