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 的交叉部分,对应于选定的索引级别。
- 返回类型:
参见
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