마케터노트/Python / / 2022. 3. 28. 03:21

[Python] 코멘토 실무PT 2주차 후기 - 일 잘하는 마케터를 위한 파이썬 분석 패키지

    반응형

     

    2주차 수업 "데이터를 가공하고 전처리 하기"

    그래서 그런지 라이브러리, 함수도 1주차보다 많이 배우고 더 통계에 대한 내용이 많이 들어갔던 것 같다.

    1주차에는 쉬웠는데, 2주차부터 조금 어려워졌다.

    앞부분에 복습을 먼저하고 들어가서 좋았고, 아쉬웠던 점은 다음 주차에는 조금 더 시간분배가 잘 되어서 마지막에 있었던 중요한 함수들까지 설명이 잘 되었으면 좋겠다. :)

    comento 실무PT 마케터를 위한 파이썬 기초

     

    ▶️Kaggle - 데이터 다운로드 받아서 과제 data로 사용

    Netflix Movies and TV Shows 데이터

     

    사실 나는 이전에도 데이터 분석에 관심이 많았어서 Python 강의를 들었던 적이 있다.

    그리고 Kaggle 스터디에도 가입이 되어있고, 때문에 이미 Kaggle 사이트에는 가입이 되어있는 상태였다.

    그런데 그 때 당시에는 영어도 엄청 기초정도밖에 못했고, 데이터도 어떻게 써야할지 몰라서 (매번 아나콘다 깔고, 어쩌구 하느라 접근성이 좋지 않았음) 못 사용 했는데 이번에 처음으로 캐글에서 데이터를 받아서 Colab 으로 가공하면서 과제를 했다.

    다른 데이터도 앞으로 가공할 수 있을 것 같은 느낌! 다만 이번주차 내용을 숙지해야 다음 수업때도 어렵지 않게 따라갈 수 있을 것 같다. ㅎㅎ

    힘내자 직장인이여!!

    pandas/numpy 사용할 준비, Data CSV 파일 불러오기

    ▶️ 일요일 스터디 세션

    이번주에도 지난번에 같이 스터디 했던 분과 Gather town 에서 과제를 함께 했다.

    3시간 30분 정도 앉아있었는데, 이분이 없었더라면 나는 과제를 끝내지 못했을 것이다. 딱 10시까지만 하려고 했는데 시간이 부족했다.. ㅎㅎ.. 기억이 안나서.. 다음 주에 수업시간에 못했던 부분과 더불어 복습하는 시간에 귀 쫑긋하고 복기해야겠다.

    환급 이벤트는 끝났더라도 Gather town 스터디가 조금 더 활성화 되면 좋을 것 같기도 하다. 이게 진짜 큰 도움이 된다.

     

    우리는 이 수업이 끝날때 까지 Gather town study mate :)

     

     

    ▶️ 2주차에 공부한 내용 간단히 정리⛳️

    👇👇👇

    [코멘토] "일 잘하는 마케터를 위한 파이썬 기초 분석 패키지" 바로가기 

    int64 (64바이트) / ps. 뒤에붙은 숫자는 바이트 수

    • 결측치 : 누락된 값, 비어있는 값 (이후 함수 적용이 불가하여 결과값에 영향을 미칠 수 있음)
      이상치 : 혼자 특이하게 높거나 이상한 데이터
    • 표본(Sample) : 모집단에서 추출된 관측 값의 부분 집합
      모집단 : 통계적인 관심의 대상이 되는 모든 개체에 대한 전체 집합
    • 정규화, 표준화 ( 스케일링 하는 방식)
      ㄴ정규화 : 데이터 범위를 0-1 사이로 표현하는 것
      ㄴ표준화 : 평균을 기준으로 얼마나 떨어져있는지
    • 라이브러리 : 코드를 작성할 필요없이 많은 동작을 수행할 수 있게 해주는 함수와 메서드의 집합 (변수, 함수, 클래스 등을 미리 만들어서 모아놓은 것) ex_Colab같은 경우 대부분의 library가 있어서 깔지 않아도 활용할 수 있는게 많다ㄴ 내장라이브러리 : 이미 안에 있는 것
      ㄴ 외장라이브러리 : 직접 만들수도 있고, 외부에서 다운로드 받는 것. 시각화, 분석할 때 라이브러리 불러올 예정.
           ex) Pandas, Numpy

    • EDA (Exploratory Data Analysis, 탐색적 데이터 분석)
      ㄴ데이터 → 전처리(이상값잡기, 등) → EDA (필터링, 전처리)
    • 분산: 제곱을 해서 편차를 보는 것. 평균에 가까울수록 편차가 작아짐.
      표준편차 : 표준편차는 분산의 양의 제곱근 (퍼진정도)
      *사분위수  : 사각형을 4토막내면 → 최소값, ~Q1 (25%) , Q2(50%), Q3~(75%), 최대값

     

    • 표본통계, 추리통계
    • *data.describe() = 데이터개수 및 전반적인 것을 보여주는 것. 숫자인 열만 불러온다 (int64)
      *data.describe(include="object") = 글자까지 포함하고 싶으면 쓰는 함수.
      *data.corr() = 상관관계를 알려주는 함수.   #0.7~1 / -0.7~-1 이 사이의 상관관계 값이면 상관관계가 아주 높은 것으로 볼 수 있다.

     

    ▶ 라이브러리 불러오기, 데이터를 다운받고 열기, 확인하기, 열이름 변경하기 등

    <라이브러리, 데이터 불러오기>
    import
     pandas as pd
    import numpy as np
    data=pd.read_csv("netflix_titles.csv")
    data.head(3)      #데이터의 앞부분 3줄 불러오기
    data.tail(3)        #데이터의 뒷부분 3줄 불러오기

    <Column에 value값들의 개수 확인 / 내림,오름차순 정렬>
    data
    ["country"].value_counts(ascending=False).head(10)
    # data['column'].value_counts() 열 내 각 value의 개수를 카운트 / .head() 붙이면 원하는 개수만큼 출력 가능
    # 내림차순 정렬 : ascending=False / 오름차순 정렬 : ascending=True

    <Column 값 변경하기 / 데이터의 형식 변경하기>
    data.rename(columns={"country":"국가"})     #country 를 '국가'로 변경
    data['Pclass'].astype('float32').head()            #Pclass를 변경함 (Str, object : 문자열 / Int : 정수 / Float32 : 실수)

    <Column 추가/삭제/합치기>

    data.drop('Pclass', axis=1).head()            #열 삭제 / axis=1 열 , axis=0 행
    data['합치기'] = data['Sex'] + data['Name']   #둘다 TEXT면 글자가 이어져 '합치기' 열로 추가됨. 숫자면 더해짐.

    <데이터 정보 확인하기>
    data.info()     # =data.notnull().sum()

    data.isnull().sum()
    data[["Age","Name","Sex"]]          # 보고 싶은 열만 뽑아서 볼 수 있다.
    -------------------
    data.describe()                         # 데이터개수 및 전반적인 것을 보여주는 것. 숫자인 열만 불러온다 (int64)
    data.describe(include="object")   # 글자까지 포함하고 싶으면 쓰는 함수.
    -------------------
    data[data["Survived"]==0].head()  # Survived가 0인 데이터 보기
    data[data["Sex"]=="male"].head()  # Sex가 male 인 데이터 보기

    <비어있는 NaN 데이터에 값 넣기 / 원하는 값 넣기>
    data['director'].fillna('감독없음')    # director 열이 비어있으면 '감독없음' 값을 넣기
                                                # 보통 null값을 평균최빈값 등으로 채워넣는다.
    data['Survived'].apply(lambda x: '사망' if x == 0 else '생존')    # 조건 : x==0이면 사망, 그밖은 생존

    <원하는 열을 기준으로 데이터 묶어 보기>

    data.groupby(['rating'])['title'].count()   #rating 별로 title 개수를 count / 작품수가 NaN 인 rating 값은 안뜸
    data.groupby(["Sex","Pclass"]).count()  #성별,Pclass 별로 2번 그룹 / count 대신 std, mean, max... 다 가능

     

     

    ▶️ 출석률 & 누적환급액

    출석률 100%, 누적환급액 15,000원 다음 수업에도 15,000원 누적될거니까 3만원 벌었다!
    끝까지 출석률 100퍼 유지하고 환급액도 모두 받을 수 있게 열심히 해야겠다 화이팅!

    지난주에 후기 포스팅하고, 과제도 해서 환급액 1만 5천원

     

     

    반응형