Python pandas groupby ключевая ошибка в пандах.коллекция Hashtable.PyObjectHashTable.получить товар
Я делаю то, что кажется простой группой в Пандах. Колонка-это колонка строк без НАН или странных строк. Тем не менее, я продолжаю получать ниже ошибку. Кто-нибудь знает, почему это может произойти? Я чувствую, что это может иметь какое-то отношение к моим данным, но, кажется, все в порядке...
Я бегу by_user = df.groupby('User')
И трассировка стека:
by_user = df.groupby('User')
File "c:Anacondalibsite-packagespandascoregeneric.py", line 2773, in groupby
sort=sort, group_keys=group_keys, squeeze=squeeze)
File "c:Anacondalibsite-packagespandascoregroupby.py", line 1142, in groupby
return klass(obj, by, **kwds)
File "c:Anacondalibsite-packagespandascoregroupby.py", line 388, in __init__ level=level, sort=sort)
File "c:Anacondalibsite-packagespandascoregroupby.py", line 2041, in _get_grouper
gpr = obj[gpr]
File "c:Anacondalibsite-packagespandascoreframe.py", line 1678, in __getitem__
return self._getitem_column(key)
File "c:Anacondalibsite-packagespandascoreframe.py", line 1685, in _get item_column
return self._get_item_cache(key)
File "c:Anacondalibsite-packagespandascoregeneric.py", line 1052, in _ge
t_item_cache
values = self._data.get(item)
File "c:Anacondalibsite-packagespandascoreinternals.py", line 2565, in get
loc = self.items.get_loc(item)
File "c:Anacondalibsite-packagespandascoreindex.py", line 1181, in get_loc
return self._engine.get_loc(_values_from_object(key))
File "index.pyx", line 129, in pandas.index.IndexEngine.get_loc (pandasindex.
c:3656)
File "index.pyx", line 149, in pandas.index.IndexEngine.get_loc (pandasindex.
c:3534)
File "hashtable.pyx", line 696, in pandas.hashtable.PyObjectHashTable.get_item
(pandashashtable.c:11911)
File "hashtable.pyx", line 704, in pandas.hashtable.PyObjectHashTable.get_item
(pandashashtable.c:11864)
KeyError: 'User'
df.info():
User Code 175167 non-null object
Version 175167 non-null object
Date Accessed 175167 non-null datetime64[ns]
Series 175167 non-null object
Software 175167 non-null object
User 175167 non-null object
1 ответ:
[перенесено из комментариев]
Легко пропустить конечные пробелы в именах столбцов, но вы можете проверить
df.columnsвручную:>>> df = pd.DataFrame({"User": [1,2]}) >>> df2 = pd.DataFrame({"User ": [1,2]}) >>> df User 0 1 1 2 >>> df2 User 0 1 1 2 >>> df.columns Index([u'User'], dtype='object') >>> df2.columns Index([u'User '], dtype='object')(Чтобы немного отодвинуть занавес, я подозревал, что что-то подобное может происходить, потому что, когда я издевался над своим собственным фреймом данных и смотрел на
df.info(), я не видел столько пространства между именами столбцов и числами, сколько показывал ваш вывод.)
Comments