Получение ошибки с мультииндексированием в Pandas - PullRequest
0 голосов
/ 24 августа 2018

Я пытаюсь понять многоуровневую индексацию. Я следовал за примерами из здесь . Первоначально этот кусок кода работал как ожидалось

arrays = [[1, 1, 2, 2], ['red', 'blue', 'red', 'blue']]
pd.MultiIndex.from_arrays(arrays, names=('number', 'color'))

Но вдруг получаю эту странную ошибку. Полный возврат выглядит следующим образом.

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-556-786596af3d44> in <module>()
      1 arrays = [[1, 1, 2, 2], ['red', 'blue', 'red', 'blue']]
----> 2 pd.MultiIndex.from_arrays(arrays, names=('number', 'color'))

~/anaconda3/lib/python3.6/site-packages/pandas/core/indexes/multi.py in from_arrays(cls, arrays, sortorder, names)
   1303 
   1304         return MultiIndex(levels=levels, labels=labels, sortorder=sortorder,
-> 1305                           names=names, verify_integrity=False)
   1306 
   1307     @classmethod

~/anaconda3/lib/python3.6/site-packages/pandas/core/indexes/multi.py in __new__(cls, levels, labels, sortorder, names, dtype, copy, name, verify_integrity, _set_identity)
    225 
    226         # we've already validated levels and labels, so shortcut here
--> 227         result._set_levels(levels, copy=copy, validate=False)
    228         result._set_labels(labels, copy=copy, validate=False)
    229 

~/anaconda3/lib/python3.6/site-packages/pandas/core/indexes/multi.py in _set_levels(self, levels, level, copy, validate, verify_integrity)
    313             self._verify_integrity(levels=new_levels)
    314 
--> 315         names = self.names
    316         self._levels = new_levels
    317         if any(names):

~/anaconda3/lib/python3.6/site-packages/pandas/core/indexes/multi.py in _get_names(self)
    632 
    633     def _get_names(self):
--> 634         return FrozenList(level.name for level in self.levels)
    635 
    636     def _set_names(self, names, level=None, validate=True):

~/anaconda3/lib/python3.6/site-packages/pandas/core/indexes/multi.py in <genexpr>(.0)
    632 
    633     def _get_names(self):
--> 634         return FrozenList(level.name for level in self.levels)
    635 
    636     def _set_names(self, names, level=None, validate=True):

AttributeError: 'list' object has no attribute 'name'

Можете ли вы указать мне, что происходит не так? Любая помощь приветствуется. Спасибо заранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...