Python pandas groupby-Taste Fehler in der pandas.hashtable.PyObjectHashTable.get_item

Ich mache das, was scheint eine einfache group by in Pandas. Die Spalte ist ein string-Spalte mit keine Nans oder seltsame Zeichenfolgen. Aber ich bekomme immer folgende Fehlermeldung. Weiß jemand, warum diese Mächte geschehen? Ich fühle mich wie kann es damit etwas zu tun haben mit meinen Daten, aber es scheint alles ok zu sein...

Ich bin mit by_user = df.groupby('User')

und der stack-trace:

by_user = df.groupby('User')
File "c:\Anaconda\lib\site-packages\pandas\core\generic.py", line 2773, in groupby
sort=sort, group_keys=group_keys, squeeze=squeeze)
File "c:\Anaconda\lib\site-packages\pandas\core\groupby.py", line 1142, in groupby
return klass(obj, by, **kwds)
File "c:\Anaconda\lib\site-packages\pandas\core\groupby.py", line 388, in __init__ level=level, sort=sort)
File "c:\Anaconda\lib\site-packages\pandas\core\groupby.py", line 2041, in _get_grouper
gpr = obj[gpr]
File "c:\Anaconda\lib\site-packages\pandas\core\frame.py", line 1678, in __getitem__
return self._getitem_column(key)
File "c:\Anaconda\lib\site-packages\pandas\core\frame.py", line 1685, in _get      item_column
return self._get_item_cache(key)
File "c:\Anaconda\lib\site-packages\pandas\core\generic.py", line 1052, in _ge
t_item_cache
values = self._data.get(item)
File "c:\Anaconda\lib\site-packages\pandas\core\internals.py", line 2565, in get
loc = self.items.get_loc(item)
File "c:\Anaconda\lib\site-packages\pandas\core\index.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 (pandas\index.
c:3656)
File "index.pyx", line 149, in pandas.index.IndexEngine.get_loc (pandas\index.
c:3534)
File "hashtable.pyx", line 696, in pandas.hashtable.PyObjectHashTable.get_item
(pandas\hashtable.c:11911)
File "hashtable.pyx", line 704, in pandas.hashtable.PyObjectHashTable.get_item
(pandas\hashtable.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
  • Kannst du die Ausgabe von df.info ist auch 'User' tatsächlich eine der Spalten?
  • seltsamerweise (?) selbst wenn die Spalte nicht gefunden, das sollte auch nicht erhöhen.
  • Ich habe die df.info. User ist es, es gibt keine null-Werte zulassen, ist es eine einfache Sammlung von Namen, und diese Namen haben keine seltsamen Zeichen in Ihnen. Dieser df ist die Schaffung von concat auf einen Haufen *.xlsx-Dateien.
  • Nur um zu überprüfen, noch einmal-denn dies ist genau das, was würde passieren, wenn es ein zusätzliches Leerzeichen am Ende der User - könnte Sie Bearbeiten, um die post der Ausgabe von df.columns?
  • Nur für die Fertigstellung bitte posten Sie Ihre numpy, pandas und python-version, danke
  • Das ist, was es war... bei mir lief df.columns ich habe User statt User. Wenn Sie wollen, dass die Antwort, ich werde es auszuwählen. Von jetzt an Leerzeichen in Spalten geht in meine Fehler zu überprüfen. Dank

InformationsquelleAutor RedRaven | 2015-01-09
Schreibe einen Kommentar