숫자형 변수
기초 통계량
- 평균(mean)
- 중앙값(median)
- 최빈값(mode)
- 사분위수(Quantile)
- 데이터를 정렬(오름차순)
- 전체를 4등분하고 각 분위는 결계의 값( 25%, 50%, 75%) 을 의미
- ( 25%, 50%, 75%) 를 각각 1사분위수, 2사분위수, 3사분위수 라고 부름
- DF.describe()를 통해 전체적으로 파악 가능
- Box plot을 활용하여 데이터 분석 가능
- Box Plot
- plt.boxplot( DF['열 이름'] )
- vert = 횡(False), 종(True, 기본값)
- 사전에 반드시 NaN을 제외(sns.boxplot 은 NaN을 알아서 제거해 줌)
- 수염 - 박스 -수염 의 형태를 가지고 있다.
- 사분위수를 확인 가능
- IQR > Q1(1사분위수) 에서 Q3(3사분위수) 까지의 길
- 1.5*IQR 범위 이내의 최소, 최대값으로 결정

도수분포 (frequency table)
- Histogram
- plt.hist(DF.열이름, bins = 구간 수) / plt.hist(x = 열이름, data = DF, bins = 구간 수) - 그림1
- edgecolor = bar의 윤곽선을 색으로 표시 ex) 'gray'
- x, y 라벨이 없음으로 직접 지정
- plt.xlabel('str') / plt.ylabel('str')
- 밀집구간과 희박구간을 확인하고 비즈니스 의미를 파악
- 단점 - 구간(bin)의 너비에 따라 모양이 달라지며 의미가 다르게 해석
- sns.histplot(DF['열 이름'], bins = 구간수)
- kde = True로 설정하면 kde도 같이 출력 - 그림2


- Density plot(KDE)
- sns.kdeplot(DF['열 이름'])
- 데이터의 밀도 추정 - 측정된(관측된) 데이터로부터 전체 데이터 분포의 특성을 추정
- 면적으로 구간에 대한 확률 추정

범주형 변수
범주형 데이터는 법주별 빈도수 / 범주별 비율 등으로 데이터를 가공해야된다.
- 범주별 빈도수 - DF['열 이름'].value_counts() / 시리즈.value_counts()
- 범주별 비율 - DF['열 이름'].value_counts(normalize = True)
- sns.countplot( DF['열 이름'] )
- 알아서 범주 별 빈도수가 계산되고 bar plot으로 그려짐.
- plt.bar( DF['열 이름'] )를 활용하려변 직접 범주별 빈도수를 계산해야 됨

- plt.pie(시리즈.values, labels = 시리즈.index , autopct = '%/2f%%') - 시리즈의 values, index를 기준으로한 원형 차트 생성, autopct = '%/2f%%'는 소수점 2자리까지 나타내게 함.
- 시리즈 = DF['열 이름']
- startangle = n : 차트를 n도 회전
- counterclock = True/False : False = 시계 방향으로
- explode = [0.05, 0.05, 0.05] : 중심으로 부터 각 차트요소(n개)를 얼마만큼 띄울지 지정
- shadow = True : 그림자 추가


'<프로그래밍> > [python]' 카테고리의 다른 글
[python] 머신러닝의 기초2 (1) | 2024.09.27 |
---|---|
[python] 머신러닝의 기초 (0) | 2024.09.26 |
[python] 데이터 시각화1(matplotlib 기초) (0) | 2024.09.10 |
[python] pands 정리(+seaborn) / 데이터 전처리 (1) | 2024.09.06 |
[python] 데이터 구조와 분석 / numpy (3) | 2024.09.06 |