KeyError: 'Column not found: id' в юпитер ноутбук, хотя колонка там есть

KeyError: 'Column not found: id' в юпитер ноутбук, хотя колонка в эксель файле присутствует в текстовом формате вот код

cohort_data = data.groupby('cohort')['id'].nunique().reset_index()
cohort_data.set_index('cohort', inplace=True)

KeyError                                  Traceback (most recent call last)
Cell In[177], line 1
----> 1 cohort_data = data.groupby('cohort')['id'].nunique().reset_index()
      2 cohort_data.set_index('cohort', inplace=True)

File C:\ProgramData\anaconda3\Lib\site-packages\pandas\core\groupby\generic.py:1951, in DataFrameGroupBy.__getitem__(self, key)
   1944 if isinstance(key, tuple) and len(key) > 1:
   1945     # if len == 1, then it becomes a SeriesGroupBy and this is actually
   1946     # valid syntax, so don't raise
   1947     raise ValueError(
   1948         "Cannot subset columns with a tuple with more than one element. "
   1949         "Use a list instead."
   1950     )
-> 1951 return super().__getitem__(key)

File C:\ProgramData\anaconda3\Lib\site-packages\pandas\core\base.py:244, in SelectionMixin.__getitem__(self, key)
    242 else:
    243     if key not in self.obj:
--> 244         raise KeyError(f"Column not found: {key}")
    245     ndim = self.obj[key].ndim
    246     return self._gotitem(key, ndim=ndim)

KeyError: 'Column not found: id'

Ответы (1 шт):

Автор решения: MarianD

Когда pandas пишет, что такой колонки нет, так такой колонки просто нет. Точка.

Очевидно, в Excel файле присутствует в текстовом формате не колонка 'id', а какая-то другая, например ' id' или 'id ' или 'Id'.

Или вы вообще не включили заголовки столбцов при импорте данных в pandas - не знаю, потому что вы в вашем вопросе не показали, какой командой вы это сделали.

→ Ссылка