-
- Notifications
You must be signed in to change notification settings - Fork 19.4k
Closed
Labels
Error ReportingIncorrect or improved errors from pandasIncorrect or improved errors from pandasIndexingRelated to indexing on series/frames, not to indexes themselvesRelated to indexing on series/frames, not to indexes themselves
Milestone
Description
Calling symmetric_difference on two equal multiindices results in a TypeError rather than an empty MultiIndex. This is surprising since calling difference on the same multiindices results in the expected empty MultiIndex.
Code Sample, a copy-pastable example if possible
a = pandas.MultiIndex.from_product([['a', 'b'], [0, 1]]) b = pandas.MultiIndex.from_product([['a', 'b'], [0, 1]]) print(a.symmetric_difference(b)) Which gives the following error:
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Miniconda3\envs\balancedbeta\lib\site-packages\pandas\indexes\base.py", line 1674, in __xor__ return self.symmetric_difference(other) File "C:\Miniconda3\envs\balancedbeta\lib\site-packages\pandas\indexes\base.py", line 1911, in symmetric_difference return self._shallow_copy_with_infer(the_diff, **attribs) File "C:\Miniconda3\envs\balancedbeta\lib\site-packages\pandas\indexes\multi.py", line 387, in _shallow_copy_with_infer return self._shallow_copy(values, **kwargs) File "C:\Miniconda3\envs\balancedbeta\lib\site-packages\pandas\indexes\multi.py", line 396, in _shallow_copy return MultiIndex.from_tuples(values, **kwargs) File "C:\Miniconda3\envs\balancedbeta\lib\site-packages\pandas\indexes\multi.py", line 883, in from_tuples raise TypeError('Cannot infer number of levels from empty list') TypeError: Cannot infer number of levels from empty list Expected Output
MultiIndex(levels=[[], []], labels = [[], []]) output of pd.show_versions()
INSTALLED VERSIONS ------------------ commit: None python: 2.7.11.final.0 python-bits: 64 OS: Windows OS-release: 7 machine: AMD64 processor: Intel64 Family 6 Model 61 Stepping 4, GenuineIntel byteorder: little LC_ALL: None LANG: DA pandas: 0.18.1 nose: None pip: 8.1.1 setuptools: 20.7.0 Cython: 0.23 numpy: 1.10.4 scipy: 0.17.0 statsmodels: 0.6.1 xarray: None IPython: 4.2.0 sphinx: None patsy: 0.4.1 dateutil: 2.5.2 pytz: 2016.3 blosc: None bottleneck: None tables: 3.2.2 numexpr: 2.5.2 matplotlib: 1.5.1 openpyxl: None xlrd: None xlwt: None xlsxwriter: None lxml: None bs4: None html5lib: None httplib2: None apiclient: None sqlalchemy: 1.0.12 pymysql: None psycopg2: None jinja2: 2.8 boto: None pandas_datareader: None Metadata
Metadata
Assignees
Labels
Error ReportingIncorrect or improved errors from pandasIncorrect or improved errors from pandasIndexingRelated to indexing on series/frames, not to indexes themselvesRelated to indexing on series/frames, not to indexes themselves