ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [혼공학습단 9기]혼자 공부하는 데이터 분석 with 파이썬 4주차 미션-1
    데이터분석 2023. 2. 5. 16:57

     

     

    https://colab.research.google.com/drive/1p1JzeIjM1b7gI05IXmO5pbaldW3XrPp2?hl=ko#scrollTo=bWloj_-llzv8

     

    Google Colaboratory Notebook

    Run, share, and edit Python notebooks

    colab.research.google.com

    4-1 통계로 요약하기

     - '기술통계'는 자료의 내용을 압축하여 설명하는 방법. 다른 말로는 '요약 통계'라고 부릅니다. 대표적인 통계량에는 평균, 표준편차 등이 있습니다. 데이터 시각화를 아우르는 이러한 데이터 분석방법을 탐색적 데이터 분석이라고 합니다.

     

    - 기술 통계 구하기

    describe 메소드는 갯수, 평균, 표준편차, 최소,최대값, 일렬로 세웠을 때 25,50,75퍼센트 위치의 값의 통계를 보여줍니다. 메소드는 percentiles 매개변수로 특정퍼센트에 해당하는 값을 구할 수 있고, include 매개변수를 통해 수치가 아닌 다른 데이터 타입의 통계 데이터도 볼 수 있습니다.(count : 갯수, unique : 고유한 값의 갯수, top : 빈도수가 제일 높은 데이터, freq :top행의 빈도수)

    - 평균, 중앙값 구하기 + 최대, 최소

    range 메소드에 숫자를 대입하면 0부터 대입숫자까지 순차적으로 대입하여 로직을 처리합니다. 그래고 판다스에서는 mean()메서드를 제공합니다. 중앙값은 판다스에서는 median()메서드를 제공합니다.데이터 갯수가 짝수일 경우에는 가운데 두개의 평균을 중심으로 중앙값을 구합니다. 기존에 중복제거 메서드 drop_duplicates로 중복을 제거한 중앙값도 구할 수 있습니다. 최소,최대는 익숙한 min,max 메소드를 사용합니다

    - quantile메소드

    분위수를 구하는 메소드로 하나 또는 분위수 리스트 값으로 여러개 분위수 값을 추출할 수 있습니다. 리턴 타입은 시리즈 객체입니다.

    - 백분위 구하기

    남산도서관 대출 데이터에서 대출건수 10이 위치한 백분위를 찾으려면? -> 대출건수 10이하의 불리언 배열을 만들고 True의 갯수를 전체 데이터 갯수로 나누면 백분위와 거의 비슷한 값을 얻을 수 있습니다. True,False는 산술연산할 때 1,0으로 인식되기 때문에, mean메소드로 백분위를 구할 수 있습니다.

    - 분산과 표준편차

    분산은 평균으로부터 데이터가 얼마나 퍼져있는지를 나타내는 통계량. 데이터가 가운데 모여있으면 분산은 낮고, 멀리 분포되어 있으면 분산이 큽니다. 다만, 분산은 수식상 제곱의 값이라 평균에서 멀어질 수록 값이 급격하게 커져 해석에 어려움이 있습니다. 이에 분산의 제곱근인 표준편차를 사용합니다. 분산은 var메소드, 표준편차는 std메소드로 데이터를 구합니다. 위에서 평균이 10이었는데 표준편차가 약 19인 것이면 보통 데이터간 간격이 19인 것인데 대출건수가 음수값이 없기때문에 대출건수가 평균보다 큰 경우가 많다고 해석할 수 있습니다.

    - 최빈값 구하기

    최빈값은 describe 메소드에서 top과 같이 가장 빈번하게 등장하는 데이터이다. mode메소드를 사용합니다. 텍스트,수치 전부 가능합니다.

    - 데이터프레임에서 기술통계 구하기

    데이터프레임에 numeric_only매개변수를 True로 지정해서 수치형 열만 연산을 할 수 있다. 그렇치 않으면 전체열에 대한 평균을 구하기에 오래걸리고 에러가 날 수가 있습니다. 최빈값도 loc메소드를 이용하여 모든 열의 최빈값도 구할 수 있습니다.

     

    - 넘파이의 기술통계 함수(가중평균, 분산)

     

    numpy를 이용해서도 기술통계함수들을 구할 수 있는데 대부분 pandas사용과 유사합니다. 가중평균부분과 분산부분만 차이가 있어 다룹니다. 가중 평균은 각 값의 중요도에 따라 가중치를 부여하여 계산하는 평균값입니다.분자는 각 데이터에 가중치를 곱한 값, 분모는 각 가중치의 합입니다. 분산에서의 차이는 수식에서의 차이로 분모가 n인 경우는 numpy.var, 분모가 n-1인 경우는 pandas.var입니다. pandas의 경우는 모집단이 아닌 표본집단을 사용해서 계산한다고 가정(표본 n-1개와 평균으로 나머지 하나의 값을 자동으로 알 수 있다.)하고 분산을 계산하고 numpy의 경우는 모집단을 기준으로 분산을 계산해서 분모가 다릅니다. 데이터분석으로는 pandas를 많이 사용하고 머신러닝에서는 넘파이를 이용하여 분산을 많이 구한다고 합니다.

     

Designed by Tistory.