Ошибка ключа для идентификатора пользователя. за исключением ошибки ключа как err:

#python #pandas #pivot-table

Вопрос:

у меня возникли некоторые проблемы с моим кодом python, когда я пытаюсь проверить реализованную функцию для моего машинного обучения для факторизации матрицы создания с использованием идентификатора пользователя, идентификатора меню и оценки по значению.

я хочу вызвать строковую функцию user_id с помощью : … # проверьте реализованную выше функцию

 similar_users(["U00004"], interactions_matrix)[0][:3]
 

затем я получаю некоторую обратную связь, как это :

 ...
KeyError                                  Traceback (most recent call last)
/usr/local/lib/python3.7/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   2897             try:
-> 2898                 return self._engine.get_loc(casted_key)
   2899             except KeyError as err:

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 1

The above exception was the direct cause of the following exception:

KeyError                                  Traceback (most recent call last)
6 frames
<ipython-input-58-1f6410c771dd> in <module>()
      1 # check the implemented function above
      2 
----> 3 similar_users(["U00004"], interactions_matrix)[0][:3]

<ipython-input-56-17fa7d9da92c> in similar_users(user_id, interactions_matrix)
      7     similarity = []
      8     for user in range(1, interactions_matrix.shape[0] 1):
----> 9         sim = cosine_similarity([interactions_matrix.loc[user_id]], [interactions_matrix.loc[user]])
     10         similarity.append((user, sim))
     11 

/usr/local/lib/python3.7/dist-packages/pandas/core/indexing.py in __getitem__(self, key)
    877 
    878             maybe_callable = com.apply_if_callable(key, self.obj)
--> 879             return self._getitem_axis(maybe_callable, axis=axis)
    880 
    881     def _is_scalar_access(self, key: Tuple):

/usr/local/lib/python3.7/dist-packages/pandas/core/indexing.py in _getitem_axis(self, key, axis)
   1108         # fall thru to straight lookup
   1109         self._validate_key(key, axis)
-> 1110         return self._get_label(key, axis=axis)
   1111 
   1112     def _get_slice_axis(self, slice_obj: slice, axis: int):

/usr/local/lib/python3.7/dist-packages/pandas/core/indexing.py in _get_label(self, label, axis)
   1057     def _get_label(self, label, axis: int):
   1058         # GH#5667 this will fail if the label is not present in the axis.
-> 1059         return self.obj.xs(label, axis=axis)
   1060 
   1061     def _handle_lowerdim_multi_index_axis0(self, tup: Tuple):

/usr/local/lib/python3.7/dist-packages/pandas/core/generic.py in xs(self, key, axis, level, drop_level)
   3491             loc, new_index = self.index.get_loc_level(key, drop_level=drop_level)
   3492         else:
-> 3493             loc = self.index.get_loc(key)
   3494 
   3495             if isinstance(loc, np.ndarray):

/usr/local/lib/python3.7/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   2898                 return self._engine.get_loc(casted_key)
   2899             except KeyError as err:
-> 2900                 raise KeyError(key) from err
   2901 
   2902         if tolerance is not None:

KeyError: 1
...
 

кто-нибудь может помочь мне с этой проблемой?