[Pandas 기초 스터디] 조건에 맞는 특정 열 추출하기 | 레이블 필터링 filter()

soyyeong·2023년 2월 15일
0
post-thumbnail

filter란?

레이블에 대해서 조건에 맞는 레이블만 필터링하는 메서드이다.

특정 레이블을 이름으로 필터링하거나, 포함된 문자열을 통해 필터링하거나, 정규표현식으로 필터링이 가능합니다.

정규표현식(regular expression)의 경우 regex라고도 하며 파이썬에서는 re 메서드가 지원하는 내용과 동일하다.


기본 사용법 | 인수 종류

DataFrame.filter(items=None, like=None, regex=None, axis=None)

items : 이름으로 필터링. 리스트형태로 입력.
like : str로 필터링. 해당 문자열이 포함된 경우를 반환.
regex : 정규표현식을 이용해 필터링.
axis : {0 : index / 1 : columns} 필터링할 레이블 (0은 행, 1은 열)


이 인수들 중 like 와 regex를 보도록 하겠다.

like 인수 | 열 이름에 특정 문자가 있을 때 출력

열 이름에 sepal 문자열을 포함하면 출력

다음과 같은 데이터프레임이 있을 때 특정한 문자가 있는 열만 가져오고 싶다.
예를 들어 sepal(꽃받침)에 대한 정보가 있는 열만 가져오고 싶다면 like 인수를 사용한다.

df.filter(like='sepal')  # 열 이름에 sepal 문자열을 포함하면 출력
sepal 문자가 들어간 열만 출력한 걸 볼 수 있다.

regex 인수 | 정규표현식을 활용한 특정 열 출력

다음과 같은 데이터 프레임만 있을 때

1. 열 이름에 원하는 문자가 포함되어 있을때 출력

df.filter(regex='b')

2. 열 이름이 특정 문자가 아닌 경우 출력

df.filter(regex='^(?!c$).*')  # 열 이름이 c가 아닌 경우 출력

3. 특정 문자로 시작하는 열 출력

df.filter(regex='^b')  # b로 시작하는 열 출력

4. 특정 문자로 끝나는 열 출력

df.filter(regex='x$')  # x로 끝나는 열 출력

그 외에도 다음과 같은 정규표현식을 활용할 수 있다.

Reference

profile
블로그 이전 중입니다 : https://soyeong-blog.netlify.app/

0개의 댓글