maxframe.dataframe.Series.xs#

Series.xs(key, axis=0, level=None, drop_level=True)#

从 Series/DataFrame 返回交叉部分。

此方法使用 key 参数来选择 MultiIndex 的特定级别的数据。

参数:
  • key (label or tuple of label) -- 索引中包含的标签,或部分在 MultiIndex 中。

  • axis ({0 or 'index', 1 or 'columns'}, default 0) -- 用于检索交叉部分的轴。

  • level (object, defaults to first n levels (n=1 or len(key))) -- 如果 key 部分包含在 MultiIndex 中,则指示使用哪些级别。级别可以通过标签或位置引用。

  • drop_level (bool, default True) -- 如果为 False,则返回与自身具有相同级别的对象。

返回:

来自原始 Series 或 DataFrame 的交叉部分,对应于选定的索引级别。

返回类型:

Series or DataFrame

参见

DataFrame.loc

通过标签或布尔数组访问一组行和列。

DataFrame.iloc

基于纯整数位置的索引,用于按位置选择。

备注

xs 不能用于设置值。

MultiIndex Slicers 是一种通用方法,可在任意级别上获取/设置值。它是 xs 功能的超集,请参见 MultiIndex Slicers

示例

>>> import maxframe.dataframe as md
>>> d = {'num_legs': [4, 4, 2, 2],
...      'num_wings': [0, 0, 2, 2],
...      'class': ['mammal', 'mammal', 'mammal', 'bird'],
...      'animal': ['cat', 'dog', 'bat', 'penguin'],
...      'locomotion': ['walks', 'walks', 'flies', 'walks']}
>>> df = md.DataFrame(data=d)
>>> df = df.set_index(['class', 'animal', 'locomotion'])
>>> df.execute()
                            num_legs  num_wings
class  animal  locomotion
mammal cat     walks              4          0
        dog     walks              4          0
        bat     flies              2          2
bird   penguin walks              2          2

获取指定索引处的值

>>> df.xs('mammal').execute()
                    num_legs  num_wings
animal locomotion
cat    walks              4          0
dog    walks              4          0
bat    flies              2          2

获取多个索引处的值

>>> df.xs(('mammal', 'dog')).execute()
            num_legs  num_wings
locomotion
walks              4          0

获取指定索引和级别的值

>>> df.xs('cat', level=1).execute()
                    num_legs  num_wings
class  locomotion
mammal walks              4          0

获取多个索引和级别的值

>>> df.xs(('bird', 'walks'),
...       level=[0, 'locomotion']).execute()
            num_legs  num_wings
animal
penguin         2          2

获取指定列和轴的值

>>> df.xs('num_wings', axis=1).execute()
class   animal   locomotion
mammal  cat      walks         0
        dog      walks         0
        bat      flies         2
bird    penguin  walks         2
Name: num_wings, dtype: int64