import numpy as np
import pandas as pd
시드를 100으로 하는 1~20사이 정수 20개가 4행 5열인 데이터 프레임 만들기
np.random.seed(100)
df = pd.DataFrame(np.random.randint(1,20,20).reshape(4,5))
0행 0열을 None, 1행 0열을 None, 2행 0열을 None으로 만들기
df.iloc[0,0] = None
df.iloc[1,0] = None
df.iloc[2,0] = None
None인 셀을 0으로 설정
df[df.isnull()] = 0
모든 데이터 타입을 int 타입으로 변경
df = df.astype(int)
사분위수 구하기
q1 = df.quantile(0.25)
q2 = df.quantile(0.5)
q3 = df.quantile(0.75)
q1, q2, q3
'''
(0 0.00 1 3.75 2 6.75 3 3.00 4 11.00 Name: 0.25, dtype: float64, 0 0.0 1 10.5 2 9.0 3 9.5 4 14.0 Name: 0.5, dtype: float64, 0 3.00 1 17.25 2 11.75 3 16.00 4 15.50 Name: 0.75, dtype: float64)
'''
IQR 구하기
iqr = q3 - q1
iqr
'''
0 3.0 1 13.5 2 5.0 3 13.0 4 4.5 dtype: float64
'''
정상치와 이상치를 나누는 경계 구하기
max_limit = q3 + iqr * 1.5
min_limit = q1 - iqr * 1.5
max_limit, min_limit
'''
(0 7.50 1 37.50 2 19.25 3 35.50 4 22.25 dtype: float64, 0 -4.50 1 -16.50 2 -0.75 3 -16.50 4 4.25 dtype: float64)
'''