a b bar foo A0 D 0 2 3 1 A1 D 16 18 19 17 A2 D 32 34 35 33 A3 D 48 50 51 49 A4 D 64 66 67 65 --------------------------------------------------------------------------- TypeError Traceback (most recent call last) ~/pandas/pandas/core/arrays/categorical.py in __init__(self, values, categories, ordered, dtype, fastpath) 336 try: --> 337 codes, categories = factorize(values, sort=True) 338 except TypeError as err: ~/pandas/pandas/core/algorithms.py in factorize(values, sort, na_sentinel, size_hint) 677 --> 678 codes, uniques = factorize_array( 679 values, na_sentinel=na_sentinel, size_hint=size_hint, na_value=na_value ~/pandas/pandas/core/algorithms.py in factorize_array(values, na_sentinel, size_hint, na_value, mask) 500 table = hash_klass(size_hint or len(values)) --> 501 uniques, codes = table.factorize( 502 values, na_sentinel=na_sentinel, na_value=na_value, mask=mask ~/pandas/pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.factorize() ~/pandas/pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable._unique() TypeError: unhashable type: 'slice' During handling of the above exception, another exception occurred: TypeError Traceback (most recent call last) ~/pandas/pandas/core/indexes/multi.py in get_indexer(self, target, method, limit, tolerance) 2515 try: -> 2516 target = MultiIndex.from_tuples(target) 2517 except (TypeError, ValueError): ~/pandas/pandas/core/indexes/multi.py in new_meth(self_or_cls, *args, **kwargs) 174 --> 175 return meth(self_or_cls, *args, **kwargs) 176 ~/pandas/pandas/core/indexes/multi.py in from_tuples(cls, tuples, sortorder, names) 536 --> 537 return cls.from_arrays(arrays, sortorder=sortorder, names=names) 538 ~/pandas/pandas/core/indexes/multi.py in from_arrays(cls, arrays, sortorder, names) 461 --> 462 codes, levels = factorize_from_iterables(arrays) 463 if names is lib.no_default: ~/pandas/pandas/core/arrays/categorical.py in factorize_from_iterables(iterables) 2600 return [[], []] -> 2601 return map(list, zip(*(factorize_from_iterable(it) for it in iterables))) ~/pandas/pandas/core/arrays/categorical.py in (.0) 2600 return [[], []] -> 2601 return map(list, zip(*(factorize_from_iterable(it) for it in iterables))) ~/pandas/pandas/core/arrays/categorical.py in factorize_from_iterable(values) 2572 # from ordered. Set ordered to False as default. See GH #15457 -> 2573 cat = Categorical(values, ordered=False) 2574 categories = cat.categories ~/pandas/pandas/core/arrays/categorical.py in __init__(self, values, categories, ordered, dtype, fastpath) 338 except TypeError as err: --> 339 codes, categories = factorize(values, sort=False) 340 if dtype.ordered: ~/pandas/pandas/core/algorithms.py in factorize(values, sort, na_sentinel, size_hint) 677 --> 678 codes, uniques = factorize_array( 679 values, na_sentinel=na_sentinel, size_hint=size_hint, na_value=na_value ~/pandas/pandas/core/algorithms.py in factorize_array(values, na_sentinel, size_hint, na_value, mask) 500 table = hash_klass(size_hint or len(values)) --> 501 uniques, codes = table.factorize( 502 values, na_sentinel=na_sentinel, na_value=na_value, mask=mask ~/pandas/pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.factorize() ~/pandas/pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable._unique() TypeError: unhashable type: 'slice' During handling of the above exception, another exception occurred: TypeError Traceback (most recent call last) /opt/conda/lib/python3.8/site-packages/IPython/core/formatters.py in __call__(self, obj) 343 method = get_real_method(obj, self.print_method) 344 if method is not None: --> 345 return method() 346 return None 347 else: ~/pandas/pandas/io/formats/style.py in _repr_html_(self) 203 Hooks into Jupyter notebook rich display system. 204 """ --> 205 return self.render() 206 207 @doc(NDFrame.to_excel, klass="Styler") ~/pandas/pandas/io/formats/style.py in render(self, **kwargs) 614 * table_attributes 615 """ --> 616 self._compute() 617 # TODO: namespace all the pandas keys 618 d = self._translate() ~/pandas/pandas/io/formats/style.py in _compute(self) 700 r = self 701 for func, args, kwargs in self._todo: --> 702 r = func(self)(*args, **kwargs) 703 return r 704 ~/pandas/pandas/io/formats/style.py in _apply(self, func, axis, subset, **kwargs) 712 subset = slice(None) if subset is None else subset 713 subset = non_reducing_slice(subset) --> 714 data = self.data.loc[subset] 715 if axis is not None: 716 result = data.apply(func, axis=axis, result_type="expand", **kwargs) ~/pandas/pandas/core/indexing.py in __getitem__(self, key) 879 # AttributeError for IntervalTree get_value 880 return self.obj._get_value(*key, takeable=self._takeable) --> 881 return self._getitem_tuple(key) 882 else: 883 # we by definition only have the 0th axis ~/pandas/pandas/core/indexing.py in _getitem_tuple(self, tup) 1050 def _getitem_tuple(self, tup: Tuple): 1051 with suppress(IndexingError): -> 1052 return self._getitem_lowerdim(tup) 1053 1054 # no multi-index, so validate all of the indexers ~/pandas/pandas/core/indexing.py in _getitem_lowerdim(self, tup) 781 # we may have a nested tuples indexer here 782 if self._is_nested_tuple_indexer(tup): --> 783 return self._getitem_nested_tuple(tup) 784 785 # we maybe be using a tuple to represent multiple dimensions here ~/pandas/pandas/core/indexing.py in _getitem_nested_tuple(self, tup) 855 856 current_ndim = obj.ndim --> 857 obj = getattr(obj, self.name)._getitem_axis(key, axis=axis) 858 axis += 1 859 ~/pandas/pandas/core/indexing.py in _getitem_axis(self, key, axis) 1103 raise ValueError("Cannot index with multidimensional key") 1104 -> 1105 return self._getitem_iterable(key, axis=axis) 1106 1107 # nested tuple slicing ~/pandas/pandas/core/indexing.py in _getitem_iterable(self, key, axis) 1043 1044 # A collection of keys -> 1045 keyarr, indexer = self._get_listlike_indexer(key, axis, raise_missing=False) 1046 return self.obj._reindex_with_indexers( 1047 {axis: [keyarr, indexer]}, copy=True, allow_dups=True ~/pandas/pandas/core/indexing.py in _get_listlike_indexer(self, key, axis, raise_missing) 1253 1254 if ax._index_as_unique: -> 1255 indexer = ax.get_indexer_for(keyarr) 1256 keyarr = ax.reindex(keyarr)[0] 1257 else: ~/pandas/pandas/core/indexes/base.py in get_indexer_for(self, target, **kwargs) 4870 """ 4871 if self._index_as_unique: -> 4872 return self.get_indexer(target, **kwargs) 4873 indexer, _ = self.get_indexer_non_unique(target) 4874 return indexer ~/pandas/pandas/core/indexes/multi.py in get_indexer(self, target, method, limit, tolerance) 2519 # let's instead try with a straight Index 2520 if method is None: -> 2521 return Index(self._values).get_indexer( 2522 target, method=method, limit=limit, tolerance=tolerance 2523 ) ~/pandas/pandas/core/indexes/base.py in get_indexer(self, target, method, limit, tolerance) 3137 ) 3138 -> 3139 indexer = self._engine.get_indexer(target._get_engine_target()) 3140 3141 return ensure_platform_int(indexer) ~/pandas/pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_indexer() ~/pandas/pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.lookup() TypeError: unhashable type: 'slice'