카테고리 없음

1-3) 파이썬 데이터 분석 기초 스터디

intergem 2025. 1. 5. 03:02

 

 

강의명 : 5분빨리 퇴근하자! 파이썬 데이터 분석, 시각화, 웹 대시보드 제작하기

플랫폼 : 인프런

 

 

3) 조건을 만족하는 최대 연속 횟수 구하기

  • 예제 : 1이 몇번 연속해서 나타나는가?
    • cumsum : 누적합
    • mul : 곱하기
    • diff : f(n) - f(n-1)

4) 이상치를 다루는 방법

  • 이상치를 다룰 때 사용할 수 있는 메서드
    • 우선 describe, 시각화를 통해 데이터 내 이상치 유무 판단
    • clip : 인자로 전달된 최대/최소 값보다 크거나 작은 것들을 최대/최소로 치환
#clip 최대 최소 값을 특정 값으로 치환
df['Weight'] = df['Weight'].clip(50,300)

#치환 후 이상치 인덱스 확인
print(f"최소 값 = {df['Weight'].min()}, 최댓 값 = {df['Weight'].max()}")

 

  • quantile : 변수의 분위수를 구함

 

5) 결측치 내삽 및 외삽하기

  • interpolate 메서드
    • 결측치를 주변의 값을 감안하여 보간
    • method 인자를 통해 보간하는 방법 설정 가능 (spline, polynomial 등)
    • limit_direction 인자를 통해 지정된 방향으로 결측치를 보간
    • limit 인자를 통해 보간할 결측치의 최대 수 지정

6) 정렬된 인덱스에서의 행 슬라이싱

  • 행 슬라이싱
    • 시계열 데이터의 날짜/시간 슬라이싱
    • 정렬된 문자열 인덱스일 경우 사전식 검색 가능

7) Datetime Resample과 Groupby 동시에 수행하기

  • 날짜/시간 형식을 포함한 두 개 이상 변수를 기준으로 groupby 하기
    • 날짜/시간 변수를 특정 그룹으로 resample하고, 동시에 추가 변수 그룹과 groupby
    • 날짜/시간 변수를 인덱스로 설정 후 pandas Grouper 이용

 

8) 데이터 내 그룹별 표준화

  • 데이터 표준화
    • 최대-최소 표준화, 평균 표준화 등
    • 특정 변수의 데이터 그룹별로 표준화를 수행해야 하는 경우
    • 예시1) 그룹별로 평균을 빼고 표준편차로 나누기
  • 예시2) 그룹의 첫번째 값을 빼고 평균으로 나누기
  • temp = df.sort_values(['inspection_step','date']).drop_duplicates('inspection_step') temp = temp.set_index('inspection_step')['value'] df = df.set_index('inspection_step') **#인덱스 값을 기준으로 매칭해서 빼기 계산하게 됨** df['normalized2'] = df['value'] - temp df = df.reset_index()

 

9) groupby 메서드를 이용한 문자열 연산

  • groupby의 문자열 연산
    • 문자열의 더하기(이어쓰기)를 이용한 groupby 연산 수행 가능
    • #특정열의 문자열 붙이기 df['path'] = df.groupby(['product_id'])['operator'].transform(lambda x:'_'.join(x)) #두 열의 문자열 붙여서 새로운 칼럼 생성 df['path'] = df['factory'] + '_' + df['path'] #중복된 열 삭제 df.drop_duplicates('product_id') df = df.loc[:,['date', 'product_id', 'passfail', 'path']] df.groupby('passfail')['path'].value_counts()
  • explode 메서드
  • dataframe의 특정 변수가 list 형식으로 이루어졌을 때, explode 메서드를 통해 행 나누기 가능

 

 

3. Python 시각화 Matplotlib, Seaborn, Plotly 라이브러리 기초

1) 파이썬 시각화 입문, 그래프의 구성 요소

  • Figure
    • 그림들을 그리기 위한 도화지
    • 여러 개의 그래프들이 들어갈 수 있는 공간
  • axes
    • figure에 그래프를 그리기 위한 컷
    • 주로 1개의 그래프가 들어가는 공간
  • legend
  • major tick / minor tick
  • xaxis / yaxis
  • xlabel / ylabel
  • xticklabel / yticklabel

2) Scatterplot(1)

  • Scatterplot 그리기
    • Figure와 ax 생성 후 해당 ax에 scatterplot을 그림
    • x: X축으로 지정할 변수
    • y: Y축으로 지정할 변수
    • data : 그래프를 그릴 데이터셋
    • ax : 그래프를 그릴 ax를 지정
  • hue 인자의 활용
    • 특정 변수의 값 별로 scatter들의 색깔을 나눠서 그래프 그리기
    • palette 인자를 통해 색깔 조절 기능
  • hue_order 인자의 활용
    • hue 인자를 통해 특정 변수의 값 별로 scatter들의 색깔을 나눠서 그래프 그리기
    • hue_order 인자를 통해 legend의 색깔 순서를 조절
  • style 인자의 활용
    • hue 인자와 유사한 목적으로, 색깔 대신 scatter의 형태를 변경하여 변수의 데이터 그룹별 구분
    • makers 인자를 조절하여 scatter의 형태 지정 가능
    • s 인자를 조절하여 scatter의 크기 조절 가능
    • marker 변수
  • size와 sizes 인자의 활용
    • hue, style 인자와 유사한 목적으로, size 인자를 통해 변수의 데이터 그룹별로 scatter의 size를 구분
    • sizes 인자를 통해 조절할 scatter의 크기 범위를 지정