Skip to content

IndexError: index out of bounds for large Series with MultiIndex #5727

Closed
@Marigold

Description

@Marigold

I am on 0.13.0rc1-64-gceec8bf (master). I get the IndexError when trying to print large dataframe with MultiIndex full of NaNs. Following script raises the error

import pandas as pd
import numpy as np

n = 3500000
arrays = [range(n), np.empty(n)]
index = pd.MultiIndex.from_tuples(zip(*arrays))
s = pd.Series(np.zeros(n), index=index)

print(s)

And here is a Traceback

Traceback (most recent call last):
  File "/home/mvinkler/Documents/analysis/models/test.py", line 12, in <module>
    print(s)
  File "/home/mvinkler/Downloads/pandas/pandas/core/base.py", line 35, in __str__
    return self.__bytes__()
  File "/home/mvinkler/Downloads/pandas/pandas/core/base.py", line 47, in __bytes__
    return self.__unicode__().encode(encoding, 'replace')
  File "/home/mvinkler/Downloads/pandas/pandas/core/series.py", line 857, in __unicode__
    result = self._tidy_repr(min(30, max_rows - 4))
  File "/home/mvinkler/Downloads/pandas/pandas/core/series.py", line 876, in _tidy_repr
    head = self.iloc[:num]._get_repr(print_header=True, length=False,
  File "/home/mvinkler/Downloads/pandas/pandas/core/generic.py", line 946, in _indexer
    setattr(self, iname, indexer(self, name))
  File "/home/mvinkler/Downloads/pandas/pandas/core/generic.py", line 1607, in __setattr__
    elif name in self._info_axis:
  File "/home/mvinkler/Downloads/pandas/pandas/core/index.py", line 2498, in __contains__
    self.get_loc(key)
  File "/home/mvinkler/Downloads/pandas/pandas/core/index.py", line 2986, in get_loc
    return self._get_level_indexer(key, level=0)
  File "/home/mvinkler/Downloads/pandas/pandas/core/index.py", line 3123, in _get_level_indexer
    loc = level_index.get_loc(key)
  File "/home/mvinkler/Downloads/pandas/pandas/core/index.py", line 1017, 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:3560)
  File "index.pyx", line 138, in pandas.index.IndexEngine.get_loc (pandas/index.c:3314)
  File "util.pxd", line 40, in util.get_value_at (pandas/index.c:13101)
IndexError: index out of bounds

Metadata

Metadata

Assignees

No one assigned

    Labels

    API DesignBugIndexingRelated to indexing on series/frames, not to indexes themselvesMultiIndex

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

        翻译: