xs on MultiIndex Does not Work For Series · Issue #6258 · pandas-dev/pandas (original) (raw)

In [141]:

dates = pd.to_datetime(['2013-09-03', '2013-09-04', '2013-09-05'])
pd.concat({'A':pd.Series([1,3,4], index=dates), 'B':pd.Series([1,3,4], index=dates)}).to_frame().xs(key='2013-09-03', level=1)

   0
A  1
B  1

[2 rows x 1 columns]
In [142]:

dates = pd.to_datetime(['2013-09-03', '2013-09-04', '2013-09-05'])

pd.concat({'A':pd.Series([1,3,4], index=dates), 'B':pd.Series([1,3,4], index=dates)}).xs(key='2013-09-03', level=1)

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-142-06aba7d44961> in <module>()
      1 dates = pd.to_datetime(['2013-09-03', '2013-09-04', '2013-09-05'])
----> 2 pd.concat({'A':pd.Series([1,3,4], index=dates), 'B':pd.Series([1,3,4], index=dates)}).xs(key='2013-09-03', level=1)

/usr/lib64/python2.7/site-packages/pandas/core/series.py in _xs(self, key, axis, level, copy)
    437 
    438     def _xs(self, key, axis=0, level=None, copy=True):
--> 439         return self.__getitem__(key)
    440 
    441     xs = _xs

/usr/lib64/python2.7/site-packages/pandas/core/series.py in __getitem__(self, key)
    482     def __getitem__(self, key):
    483         try:
--> 484             result = self.index.get_value(self, key)
    485             if isinstance(result, np.ndarray):
    486                 return self._constructor(result,index=[key]*len(result)).__finalize__(self)

/usr/lib64/python2.7/site-packages/pandas/core/index.py in get_value(self, series, key)
   2294                     raise InvalidIndexError(key)
   2295                 else:
-> 2296                     raise e1
   2297             except Exception:  # pragma: no cover
   2298                 raise e1

KeyError: '2013-09-03'