pandas.DataFrame.xs # 数据框。xs ( key , axis = 0 , level = None , drop_level = True ) [来源] # 从系列/数据帧返回横截面。 此方法采用关键参数来选择 MultiIndex 特定级别的数据。 参数: 键标签或标签元组包含在索引中的标签,或部分包含在 MultiIndex 中的标签。 轴{0 或 'index', 1 或 'columns'}, 默认 0要检索横截面的轴。 level对象,默认为前 n 个级别(n=1 或 len(key))如果某个键部分包含在 MultiIndex 中,请指示使用哪些级别。级别可以通过标签或位置来引用。 drop_level bool, 默认 True如果为 False,则返回与自身具有相同级别的对象。 返回: 系列或数据框与所选索引级别相对应的原始 Series 或 DataFrame 的横截面。 也可以看看 DataFrame.loc通过标签或布尔数组访问一组行和列。 DataFrame.iloc纯粹基于整数位置的索引,用于按位置选择。 笔记 xs不能用于设置值。 多索引切片器是一种在任何级别上获取/设置值的通用方法。它是xs功能的超集,请参阅 MultiIndex Slicers。 例子 >>> 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 = pd.DataFrame(data=d) >>> df = df.set_index(['class', 'animal', 'locomotion']) >>> df 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') num_legs num_wings animal locomotion cat walks 4 0 dog walks 4 0 bat flies 2 2 获取多个索引的值 >>> df.xs(('mammal', 'dog', 'walks')) num_legs 4 num_wings 0 Name: (mammal, dog, walks), dtype: int64 获取指定索引和级别的值 >>> df.xs('cat', level=1) num_legs num_wings class locomotion mammal walks 4 0 获取多个指标和级别的值 >>> df.xs(('bird', 'walks'), ... level=[0, 'locomotion']) num_legs num_wings animal penguin 2 2 获取指定列和轴的值 >>> df.xs('num_wings', axis=1) class animal locomotion mammal cat walks 0 dog walks 0 bat flies 2 bird penguin walks 2 Name: num_wings, dtype: int64