Как исправить ошибку индексации в библиотеке панд Python - PullRequest
0 голосов
/ 02 мая 2019

Я настраивал статистический расчет, код ранее работал нормально, возможно, испорчен новым обновлением Pandas.

Я пытался изменить переменные, все еще не работает.

drug1 = drug.loc[:, []].copy()
drug2 = drug1.dropna()
for i in ["DUQ200", "DUQ240", "DUQ250", "DUQ290", "DUQ330", "DUQ370", ]:
    print(drug2[i].value_counts()/drug2.count())

Ожидаемый результат должен был показать очень большое или очень маленькое число. Фактический результат:

--------------------------------------------------------------------------- KeyError Traceback (последний вызов был последним) ~ \ Anaconda3 \ lib \ site-packages \ pandas \ core \ indexes \ base.py в get_loc (self, key, method, допуск) 3077 try: -> 3078 возвращает self._engine.get_loc (key) 3079 за исключением KeyError:

pandas_libs \ index.pyx в pandas._libs.index.IndexEngine.get_loc ()

pandas_libs \ index.pyx в pandas._libs.index.IndexEngine.get_loc ()

pandas_libs \ hashtable_class_helper.pxi в pandas._libs.hashtable.PyObjectHashTable.get_item ()

* pash.plip._libs.hashtable.PyObjectHashTable.get_item ()

KeyError: 'DUQ240'

Во время обработки вышеупомянутого исключения произошло другое исключение:

KeyError Traceback (последний последний вызов) в 1 для i в ["DUQ240", "DUQ250"," DUQ290 "," DUQ330 "," DUQ370 ",]: ----> 2 print (drug2 [i] .value_counts () / drug2.count ())

~ \ Anaconda3 \ lib\ site-packages \ pandas \ core \ frame.py в getitem (self, key) 2686 return self._getitem_multilevel (key) 2687 else: -> 2688 return self._getitem_column (key) 2689 2690 def _getitem_column(self, key):

~ \ Anaconda3 \ lib \ site-packages \ pandas \ core \ frame.py в _getitem_column (self, key) 2693 # получить столбец 2694, если self.columns.is_unique: ->2695 вернуть self._get_item_cache (ключ) 2696 2697 # дублировать столбцы и возможно уменьшить размерность

~ \ Anaconda3 \ lib \ site-packages \ pandas \ core \ generic.py в _get_item_cache (self, item) 2487 res =cache.get (item) 2488, если res - None: -> 2489 values ​​= self._data.get (item) 2490 res = self._box_item_values ​​(item, values) 2491
cache [item] = res

~ \ Anaconda3 \ lib \ site-packages \ pandas \ core \ internals.py в get (self, item, fastpath) 4113 4114, если не isna (item): -> 4115loc = self.items.get_loc (item) 4116 else: 4117 indexer = np.arange (len (self.items)) [isna (self.items)]

~ \ Anaconda3 \ lib \ site-packages\ pandas \ core \ indexes \ base.py в get_loc (self, ключ, метод, допуск) 3078 возвращает self._engine.get_loc (key) 3079, кроме KeyError: -> 3080 возвращает self._engine.get_loc (self._maybe_cast_indexer (key)) 3081 3082
indexer = self.get_indexer ([ключ], метод = метод, допуск = допуск)

pandas_libs \ index.pyx в pandas._libs.index.IndexEngine.get_loc ()

pandas_libs \ index.pyx в pandas._libs.index.IndexEngine.get_loc ()

pandas_libs \ hashtable_class_helper.pxi в pandas._libs.hashtable.PyObjectHashTable.get_get 10 (10)pandas_libs \ hashtable_class_helper.pxi в pandas._libs.hashtable.PyObjectHashTable.get_item ()

KeyError: 'DUQ240'

...