티스토리 뷰
- 문제: 주어진 데이터에서 결측치가 80%이상 되는 컬럼은(변수는) 삭제하고, 80% 미만인 결측치가 있는 컬럼은 'city'별 중앙값으로 값을 대체하고 'f1'컬럼의 평균값을 출력하세요!
1. 먼저 데이터 살펴보기(결측값 확인하기)
df = pd.read_csv('Desktop/basic1.csv')
# 데이터 보기
df.head(5)
# 각 열이 결측값을 얼마나 갖고 있는지 확인하기
df.isnull().sum()
2. 데이터에서 결측치가 80%이상 되는 컬럼(변수) 찾기
# df가 어떻게 이루어져 있는지 보기(몇개의 변수들의 값으로 이루어져 있는지)
df.shape
# df 행 수의 값으로 나눠 결측값 비율 찾기
df.isnull().sum()/df.shape[0]
3. 결측치가 80%이상 되는 컬럼(변수) 삭제하기
# 조건에 안맞는 결측치 있는 열 삭제하기
df = df.drop(['f3'], axis = 1)
4. 80% 미만 결측치가 있는 변수의 city별 중앙값 찾아서 변수 설정하기
# groupby 함수 이용하여 city별 중앙값 찾기
k, d, b, s = df.groupby('city')['f1'].median()
5. 결측치 값에 중앙값으로 대체하기
# map 함수를 이용하여 각 결측치 값 안에 중앙값으로 대체하기
df['f1'] = df['f1'].fillna(df['city'].map({'서울':s, '경기':k, '부산':b, '대구':d}))
6. 'f1'의 평균 구하기
df['f1'].mean()
'파이썬' 카테고리의 다른 글
파이썬 활용하여 자동으로 이메일 보내기 (0) | 2021.06.13 |
---|---|
여러가지 통계분석 (0) | 2021.06.13 |
nltk 패키지 / 영문 텍스트 분석하기 / 워드클라우드 (0) | 2021.06.13 |
(MAC OS)matplotlib을 이용한 다양한 그래프 그리기 / bokeh 그래프 그리기 (0) | 2021.06.13 |
(MAC OS) matplotlib를 이용한 그래프 그리기 (0) | 2021.06.13 |