當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python pandas.DataFrame.xs用法及代碼示例

用法:

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

從 Series/DataFrame 返回橫截麵。

此方法采用 key 參數來選擇 MultiIndex 特定級別的數據。

參數

key標簽或標簽元組

標簽包含在索引中,或部分包含在 MultiIndex 中。

axis{0 或 ‘index’,1 或 ‘columns’},默認 0

檢索橫截麵的軸。

level對象,默認為前 n 級(n=1 或 len(key))

如果鍵部分包含在 MultiIndex 中,請指明使用了哪些級別。級別可以通過標簽或位置來引用。

drop_level布爾值,默認為真

如果為 False,則返回與 self 具有相同級別的對象。

返回

Series或DataFrame

與所選索引級別對應的原始係列或數據幀的橫截麵。

注意

xs 不能用於設置值。

MultiIndex Slicers 是一種在任何級別或多個級別上獲取/設置值的通用方法。它是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'))
            num_legs  num_wings
locomotion
walks              4          0

獲取指定索引和級別的值

>>> 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

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.xs。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。