반응형
6-2 조건에 맞는 데이터만 추출하기
여러 조건 중 하나 이상 충족하는 행 추출
# 수학 점수가 90점 이상이거나 영어 점수가 90점 이상인 경우
exam.query('math >= 90 or english >= 90')
#영어 점수가 90점 미만이거나 과학 점수가 50점 미만인 경우
exam.query('english < 90 | science < 50')
목록에 해당하는 행 추출하기
# 1,3,5반에 해당하면 추출
exam.query('nclass == 1 or nclass == 3 or nclass == 5')
exam.query('nclass in [1,3,5]')
추출한 행으로 데이터 만들기
# nclass가 1인 행 추출해 nclass1에 할당
nclass1 = exam.query('nclass == 1')
# nclass가 2인 행 추출해 nclass2에 할당
nclass2 = exam.query('nclass == 2')
nclass1['math'].mean()
##출력: 46.25
# nclass가 1인 행 추출해 nclass1에 할당
nclass1 = exam.query('nclass == 1')
# nclass가 2인 행 추출해 nclass2에 할당
nclass2 = exam.query('nclass == 2')
nclass2['math'].mean()
##출력: 61.25
문자 변수 이용해 조건에 맞는 행 추출하기
df = pd.DataFrame({'sex' : ['F', 'M', 'F', 'M'],
'country' : ['Korea', 'China', 'Japan', 'USA']})
df
# 전체 조건에 작은따옴표, 추출할 문자에 큰따옴표 사용
df.query('sex == "F" & country == "Korea"')
# 전체 조건에 큰따옴표, 추출할 문자에 작은따옴표 사용
df.query("sex == 'M' & country == 'China'")
외부 변수를 이용해 추출하기
변수명 앞에 @를 붙여서 조건을 입력
var = 3
exam.query('nclass == @var')
파이썬에서 사용하는 기호
데이터 프레임 출력 제한 설정
pd.set_option('display.max_rows', None) # 모든 행 출력하도록 설정
pd.set_option('display.max_columns', None) # 모든 열 출력하도록 설정
pd.reset_option('display.max_rows') # 행 출력 제한 되돌리기
pd.reset_option('display.max_columns') # 열 출력 제한 되돌리기
혼자서 해보기-mpg 데이터를 이용해 분석 문제 해결
Q1 자동차 배기량에 따라 고속도로 연비가 다른지 알아보려고 합니다. displ(배기량)이 4 이하인 자동차와 5 이상인 자동차 중 어떤 자동차의 hwy(고속도로 연비) 평균이 더 높은지 알아보세요.
mpg = pd.read_csv('mpg.csv')
mpg
mpg_displ4 = mpg.query('displ <= 4')
mpg_displ5 = mpg.query('displ >= 5')
mpg_displ4['hwy'].mean()
## 출력: 25.96319018404908
mpg_displ5['hwy'].mean()
## 출력: 18.07894736842105
mpg_displ4['hwy'].mean() > mpg_displ5['hwy'].mean()
## 출력: True
Q2 자동차 제조 회사에 따라 도시 연비가 어떻게 다른지 알아보려고 합니다. 'audi'와 'toyota' 중 어느 manufacturer(자동차 제조 회사)의 cty(도시 연비) 평균이 더 높은지 알아보세요
mpg_audi = mpg.query('manufacturer == "audi"')
mpg_toyotam = mpg.query('manufacturer == "toyota"')
mpg_audi['cty'].mean()
##출력: 17.61111111111111
mpg_toyotam['cty'].mean()
##출력: 18.529411764705884
Q3 'chevrolet', 'ford' ,'honda' 자동차의 고속도로 연비 평균을 알아보려고 합니다. 세 회사의 데이터를 추출한 다음 hwy 전체 평균을 구해 보세요
mpg_a = mpg.query('manufacturer in ["chevrolet", "ford", "honda"]')
mpg_a['hwy'].mean()
##출력: 22.50943396226415
※ 해당 내용은 <Do it! 파이썬 데이터 분석>의 내용을 토대로 학습하며 정리한 내용입니다.
반응형
'데이터 분석 학습' 카테고리의 다른 글
6장 자유자재로 데이터 가공하기 (4) (0) | 2023.04.10 |
---|---|
6장 자유자재로 데이터 가공하기 (3) (0) | 2023.04.09 |
6장 자유자재로 데이터 가공하기 (1) (0) | 2023.04.07 |
5장 데이터 분석 기초! - 데이터 파악하기, 다루기 쉽게 수정하기 (3) (0) | 2023.04.06 |
5장 데이터 분석 기초! - 데이터 파악하기, 다루기 쉽게 수정하기 (2) (0) | 2023.04.05 |