필터기능
일정 조건을 통해 원하는 데이터만 추출하는 기능
엑셀
1. 데이터 준비
2. 원하는 행에 필터걸기
1-1) 단축키 사용
① 행 선택하기 (Shift + Space) ⇒ ② 필터기능 활성화 (Shift + L)
1-2) 직접 클릭하는 방법
2. 원하는 셀로 이동한 후 필터열고 검색하기
① 원하는 셀 이동 (좌우방향키) ⇒ ② 필터 열기(Alt + 아래방향키 ↓) ⇒ ③ 키보드 자판 'E' 누르기
3. 검색어 입력 후 엔터키(Enter)
파이썬
예제파일
# 환경구축
import pandas as pd
import numpy as np
import re
# 예제파일 불러오기 ('한국 반도체섹터 종목')
# 예제파일은 작업하는 파이썬과 같이 경로에 있어야 한다.
df = pd.read_excel('kor_semiconductor.xlsx', sheet_name='stock_list')
df
# 'PER '10이상 20이하' 종목 선별
# 데이터프레임이름.loc[필터조건]
df1 = df.loc[(df['PER'] >= 10) & (df['PER'] <= 20)]
df1
# 'PER '10이상 20이하' 종목 선별
# 변수를 활용하여 .loc 함수를 사용할 수 있다
# 데이터프레임이름.loc[변수]
조건1 = df['PER'] >= 10
조건2 = df['PER'] <= 20
df2 = df.loc[조건1 & 조건2]
df2
# 선별조건에 해당되는 종목(행)의 수가 알고 싶은 경우에는 len 함수를 사용한다.
# len(데이터프레임.index)
조건1 = df['PER'] >= 10
조건2 = df['PER'] <= 20
df2 = df.loc[조건1 & 조건2]
len(df2.index)
# 'PER '10이상 20이하' 종목 선별
# 원하는 칼럼만 볼 수 있다.
# 데이터프레임이름.loc[변수(필터조건), [칼럼명]]
# 추가로 sort_values를 이용하여 해당 값을 기준으로 '내림차순'/'오름차순' 정렬할 수 있다.
# 데이터프레임이름.sort.values(by=[정렬기준이 되는 칼럼명], ascending=True/False)
조건1 = df['PER'] >= 10
조건2 = df['PER'] <= 20
df3 = df.loc[조건1 & 조건2, ['종목명', 'PER', 'ROE(%)']]
df3.sort_values(by=['ROE(%)'], ascending=False)
2021.12.18 - [Develop/Pandas] - [Pandas] 데이터프레임을 엑셀 필터처럼 쓰는 법 (2편)
'Develop > Pandas' 카테고리의 다른 글
[Pandas] 데이터프레임을 엑셀 필터처럼 쓰는 법 (2편) (0) | 2021.12.18 |
---|---|
[Pandas] 특정조건 만족하는 인덱스(행), 칼럼(열) 삭제하기 (2) | 2021.11.13 |
[Pandas] 날짜 데이터프레임 업데이트 자동화 (0) | 2021.11.11 |
[Pandas] 데이터프레임 열을 Datetime으로 변환하기 (0) | 2021.11.10 |
[Pandas] 데이터프레임 행 열 바꾸기 ; transpose (0) | 2021.11.05 |