일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- oracle
- SQL
- tableau
- 맞춤 이벤트
- Funnel
- git
- 이벤트 매개변수
- 크로스셀링
- 캐글
- 후기
- 통계
- API
- It
- pandas
- tablueau
- Ga
- 맞춤 자바스크립트
- bigquery
- 용어 정리
- SQLD
- Google Analytics
- DISTINCT
- Kaggle
- 상관계수
- 그로스해킹
- sql 개발자
- segmentation
- Ecommerce
- Python
- 데이터 분석
- Today
- Total
녕녀기의 실험일지
[ Pandas ] filter()를 사용해, 조건에 맞는 컬럼(혹은 인덱스) 검색 본문
본문으로
안녕하세요. 녀기입니다.
공공 데이터를 python으로 가지고 놀다가
연도별로 순서만 추가 돼서 컬럼이 형성된다는 것을 한번쯤 보셨을 것입니다.
연도를 하나씩 설정해서 받아도 되지만,
python을 이용해 나눠 보려고 하다가 좋은 method를 알게 돼서 글을 쓰게 되네요ㅋㅋㅋㅋ
filter()
아래 코드와 같이 데이터프레임을 하나 생성해 줍시다.
df = pd.DataFrame(data=np.array([['A','B','C','D','E'],
['E','F','C','D','Z'],
['E','F','G','H','A'],
['I','J','G','H','B'],
['K','L','M','N','E']]),
columns=["2016.1", "2016.2", "2017", "2018.3", "1-2018"])
Table 1처럼 만들어진 데이터프레임에서
특정 컬럼만 필터링해서 가져오기 위해
filter() 메소드를 사용합니다.
매개변수에는 items, like, regex가 있습니다.
items
items 는 지정한 컬럼명을 필터링해서 불러옵니다.
아래 코드와 같이 입력하면
df.filter(items=["2016.1", "2017"], axis=1)
items의 리스트 안에 있는 '2016.1', '2017'의 컬럼명을 가진 컬럼만 출력해 줍니다.
axis=1로 설정했으므로 열 기준이죠.
그럼 행 기준도 될까요?
df.filter(items=[0,3], axis=0)
axis=0으로 설정하고,
0번째 인덱스와 3번째 인덱스를 필터링한 결과가 Table 3입니다.
like
like 는 해당 조건이 포함돼 있는 것을 필터링해서 불러옵니다.
아래와 같이 '2016'을 넣으면
df.filter(like="2016",axis=1)
컬럼명에 2016이 포함돼 있는 컬럼만 불러옵니다.
df.filter(like="2018",axis=1)
2018을 넣으니 2018이 포함돼 있는 컬럼만 불러오는군요.
regex
regex 는 정규표현식에 해당하는 조건을 필터링해서 부릅니다.
아래와 같이 코드를 작성하면,
df.filter(regex="\.",axis=1)
컬럼명에 "."이 포함된 컬럼을 반환하죠.
df.filter(regex="\-",axis=1)
"-"가 포함된 컬럼도 불러올 수 있습니다.
filter를 몰랐을 때는
apply랑 정규표현식으로 온갖 똥꼬쇼를 다 했는데,
filter를 알고 나니 너무 편하군요ㅠㅠㅠ
(검색을 생활화합시다!)
자주 써먹어보도록 하겠습니다ㅋㅋㅋㅋㅋ
그럼 저는 사라져 볼게요~~
뿅!

'-- Data -- > - Python -' 카테고리의 다른 글
[ Pandas ] .str.extract와 정규 표현식을 사용해서 조건에 맞는 텍스트 추출하기 (0) | 2023.09.03 |
---|---|
[ Python ] sympy 라이브러리를 이용한 방정식 해 구하기 (0) | 2023.07.28 |
[ Pandas ] sort_values()를 이용한 Dataframe 정렬 (0) | 2023.06.22 |
[ Pandas ] melt() method 를 사용해 DataFrame Unpivot 화 (0) | 2023.05.25 |
[ Python ] 공공 데이터 API 사용 (2) | 2023.04.25 |