본문 바로가기
데이터 분석/데이터 전처리

[Pandas] 28. 데이터 필터링 하기 (feat. filter)

by 부자 꽁냥이 2022. 11. 15.

안녕하세요~ 꽁냥이에요. Pandas에서는 filter 메서드를 이용하여 특정 조건에 맞는 칼럼과 행으로 필터링할 수 있습니다. 이번 포스팅에서는 Pandas의 filter 메서드 사용법을 알아보겠습니다.


   filter 사용법

먼저 이번 포스팅에서 사용할 데이터를 만들어 보겠습니다.

 

import pandas as pd

data = {
    'PROCESS_A':[1, 0, 0, 0],
    'PROCESS_B':[0, 1, 1, 0],
    'PROCESS_C':[0, 1, 1, 1],
    'SUB_A':[3, 5, 3, 3],
    'SUB_B':[1, 7, 6, 2]
}
df = pd.DataFrame(data)
df.index = ['PRODUCT_A', 'PRODUCT_B', 'PRODUCT_C', 'PRODUCT_D']

df.head()

 


1) 칼럼 이름 또는 행 인덱스 이름을 이용한 필터링 : items

filter 메서드의 items 인자를 이용하면 칼럼명과 행 인덱스명으로 데이터를 필터링할 수 있어요. 아래 사용법을 보시면 바로 이해가 되실 거예요. 이때 axis 인자에 0 또는 1을 지정해줘야 하며 0은 행 추출, 1은 칼럼 추출을 의미합니다.

 

df.filter(items=['PROCESS_A', 'SUB_A'], axis=1) ## PROCESS_A SUB_A 칼럼 추출

 

 

df.filter(items=['PRODUCT_A', 'PRODUCT_B'], axis=0) ## PRODUCT_A PRODUCT_B 행 추출

 


2) 문자표현 이용한 필터링 : regex, like

a. 특정 문자가 포함된 칼럼 또는 행 필터링 : like

filter 메서드의 like 인자를 사용하면 특정 문자가 포함된 칼럼과 행 인덱스를 필터링할 수 있어요.

 

df.filter(like='PROCESS', axis=1) ## PROCESS가 포함된 칼럼 추출

 

 

df.filter(like='_A', axis=0) ## _A가 포함된 행 추출

 

b. 정규표현식을 이용한 칼럼 또는 행 필터링 : regex

regex 인자를 사용하면 정규 표현식을 통하여 원하는 칼럼과 행을 추출할 수 있습니다.

 

df.filter(regex='A$', axis=1) ## A로 끝나는 칼럼 추출

 

 

df.filter(regex='[ABD]$', axis=0) ## A, B, D로 끝나는  행 추출

 


filter라는 기능을 최근에 알았는데요. 미리 알았더라면 어땠을까 하는 아쉬움이 있습니다. filter는 정말 많이 활용되므로 꼭 알아두세요~!!

 

부디 이번 포스팅이 많은 분들께 도움이 되시길 바라며 이상 포스팅 마치겠습니다. 지금까지 꽁냥이의 글 읽어주셔서 감사합니다.


댓글


맨 위로