#22. beer.csv

1. 코드

%matplotlib inline import pandas as pd import seaborn as sns


1. 결측치 처리

  • 결측치 수 확인 → 'abv'의 결측치는 전체 데이터(2252개)의 약 3%이고, 'ibu'의 결측치는 전체 데이터의 42%이므로 결측치를 제거하는 것보다 다른 통계값(중간값/평균값)으로 대체하는 것이 낫다고 판단함
beer_df.isnull().sum()

  • 결측치 중간값으로 대체 → 'abv'의 중간값은 0.055, 평균값은 0.060이므로 'abv'의 결측치는 중간값(0.055)으로 대체함 / 'ibu'의 중간값은 35, 평균값은 40이므로 'ibu'의 결측치도 중간값(35)으로 대체함
beer_df.fillna(beer_df.median(), inplace=True)

  • 결측치 제거 → 'style'의 결측치는 전체 데이터(2252개)의 약 0.2%이므로 결측치를 제거하는 것이 낫다고 판단함
beer_df.dropna(inplace=True)



2. 이상치 처리 → 'abv'의 이상치(5.5)는 '맥주의 도수'로 충분히 가능한 값이라 생각되어 삭제하지 않기로 판단함


3. 칼럼명 변경하기

new_beer_df = beer_df.rename(columns={'abv':'알코올 도수(Alcohol by volume)', 'ibu':'쓴맛 정도(International Bitterness Unit)', 'brewery_id':'맥주 공장/회사', 'ounces':'맥주 용량'})
df.rename(columns={'Num':'ID'}, inplace=True)

2. 발견한 인사이트

1. 'abv' (알코올 도수) 분포


2. 'ibu' (쓴맛 정도) 분포


3. 'ibu'(쓴맛 정도)와 'abv'(알코올 도수)가 관계가 있을거라 예상했으나, 상관관계 분석 결과 0.04로 아주 작음을 알 수 있음


4. 가장 많은 맥주 'style' 상위 5개는 'American IPA', 'American Pale Ale (APA)', 'American Amber/Red Ale', 'American Blonde Ale', 'American Pale Wheat Ale'임을 알 수 있음


3. 한 줄 평가

  • 히스토그램으로 나타내었을때 가로축의 범위 설정을 하는 방법을 알고 싶음