반응형

17-01 하위분류반환 (xs)

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

 

개요


xs는 멀티인덱스 객체에 대해서 하위 분류를 출력하는 메서드입니다.

 

​사용법​


기본 사용법
※ 자세한 내용은 아래 예시를 참고 바랍니다.
df.xs(key, axis=0, level=None, drop_level=True)
key : 분류의 기준이 되는 값입니다. Multi Index의 값을 지정합니다.
axis : 하위 분류 출력의 기준이되는 축을 지정합니다.
level : 멀티인덱스에 키가 부분적으로 포함되어있는경우, 레벨 지정을 통해 분류할 수 있습니다.
drop_level : 기본값은 True로 필터링하는 값을 제외하고 하위 분류만 출력합니다. False면 필터링하는 값이 있는 분류까지 출력합니다.

 

반응형

예시


​먼저 기본적인 사용법 예시를위하여 멀티인덱스 데이터를 만들어보겠습니다.

data = {'col1':[0,1,2,3,4], 'col2':[5,6,7,8,9],
        'level0':['A','A','A','B','B'],
        'level1':['X','X','Y','Y','Z'],
        'level2':['a','a','b','c','a']}
df = pd.DataFrame(data=data)
df = df.set_index(['level0', 'level1', 'level2'])
print(df)
>>
                      col1  col2
level0 level1 level2            
A      X      a          0     5
              a          1     6
       Y      b          2     7
B      Y      c          3     8
       Z      a          4     9


기본적인 사용법
기본적으로 key값을 지정하면 해당 값의 하위 분류를 출력합니다.

print(df.xs(key='A'))
>>
               col1  col2
level1 level2            
X      a          0     5
       a          1     6
Y      b          2     7


key값을 여러 값으로 지정할 수 도 있습니다.

print(df.xs(key=('A','X')))
>>
        col1  col2
level2            
a          0     5
a          1     6


level을 지정하여 하위분류를 진행할 수 있습니다.

print(df.xs(key='Y',level=1))
>>
               col1  col2
level0 level2            
A      b          2     7
B      c          3     8


drop_level=True로 할 경우 key값으로 지정된 레벨을 포함해서 줄력합니다.

print(df.xs(key='Y',level=1,drop_level=False))
>>
                      col1  col2
level0 level1 level2            
A      Y      b          2     7
B      Y      c          3     8
반응형

+ 최근 글