Skip to content

xs on MultiIndex Does not Work For Series #6258

@cancan101

Description

@cancan101

This works:

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] 

but this does not:

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' 

Metadata

Metadata

Assignees

Labels

BugIndexingRelated to indexing on series/frames, not to indexes themselves

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions