Ошибка панд с многомерным ключом с использованием .loc и логического значения - PullRequest
0 голосов
/ 20 ноября 2018

Эта ошибка повторялась в течение 2 недель, хотя код работал раньше.Не уверен, обновил ли я панд как часть другой установки библиотеки, и, возможно, что-то там изменилось.В настоящее время на версии 23.4.Ожидаемый результат - возвращение только строки с этим значением идентификатора.

In [42]: df.head()

Out[43]:

index   Identifier  ... 
0        51384710   ... 
1        74838J10   ... 
2        80589M10   ...     
3        67104410   ... 
4        50241310   ... 

[5 rows x 14 columns]
In [43]: df.loc[df.Identifier.isin(['51384710'])].head()
    Traceback (most recent call last):
      File "C:\anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2862, in run_code
        exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-44-a3dbf43451ef>", line 1, in <module>
     df.loc[df.Identifier.isin(['51384710'])].head()
File "C:\anaconda3\lib\site-packages\pandas\core\indexing.py", line 1478, in __getitem__
        return self._getitem_axis(maybe_callable, axis=axis)
File "C:\anaconda3\lib\site-packages\pandas\core\indexing.py", line 1899, in _getitem_axis
        raise ValueError('Cannot index with multidimensional key')
    **ValueError: Cannot index with multidimensional key**

Фрагмент кода

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Исправлено.Я сделал df.columns = [column_list] где column_list = [...], что привело к тому, что df обрабатывался так, как если бы он имел мультииндекс, даже если был только один уровень.убрал скобки из назначения df.columns.

0 голосов
/ 20 ноября 2018

Попробуйте изменить

df.loc[df.Identifier.isin(['51384710'])].head()

на

df[df.Identifier.isin(['51384710'])].head()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...