안녕하세요~ 꽁냥이에요. 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는 정말 많이 활용되므로 꼭 알아두세요~!!
부디 이번 포스팅이 많은 분들께 도움이 되시길 바라며 이상 포스팅 마치겠습니다. 지금까지 꽁냥이의 글 읽어주셔서 감사합니다.
'데이터 분석 > 데이터 전처리' 카테고리의 다른 글
[Pandas] 30. 데이터 재구조화(Reshape) 하기 (feat. melt) (4) | 2022.11.18 |
---|---|
[Pandas] 29. 데이터 프레임을 칼럼 폭 조절, 첫 행 고정, 필터 추가하여 엑셀 저장하기 (feat. ExcelWriter) (0) | 2022.11.16 |
[Pandas Tip] 엑셀(Excel) 행과 열 고정하여 저장하기 (feat freeze_panes) (2) | 2022.09.29 |
[Pandas] 27. 문자열 데이터 다루기(공백 제거, 슬라이싱, 문자 대체, 분리, 문자 연결) (feat. strip, slice, split, replace, cat) (385) | 2022.05.27 |
[Pandas] 여러가지 통계량(평균, 분산, 중앙값 등) 구하기 (415) | 2022.05.20 |
댓글