숫자형 변수

기초 통계량

  • 평균(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

그림1 / 그림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 : 그림자 추가

+ Recent posts