데이터 분석 입문 주차

250404_Data_6기 TIL 34일차 - 파이썬 스탠다드 #2

juneoh20 2025. 4. 4. 20:28

250404_Data_6기 TIL 34일차

  • - 주간 전체 복습
  • - 기초프로젝트 코드 분석 #5 
  • - QCC 복습 
  • - 10분 판다스 
  • - 파이썬 스탠다드 세션 복습

 

 


파이썬 스탠다드 #2

 

 

1. Python의 Window Function

윈도우 함수는 여러 행의 관계를 파악하기 위해 사용된다.

 

  • 정의 : 행과 행 간의 관계를 정의하기 위해서 제공되는 함수
  • 역할 : 윈도우 함수를 사용해서 순위, 합계, 평균, 행 위치 등을 조작할 수 있다.
  • 종류 : 순위, 집계, 순서, 비율

Python에서는 윈도우 펑션을 어떻게 구현할까?

Shift, Rollin, Expanding 으로 구현 가능!

 

SHIFT

Shift(메서드)

  • 정의 : 시계열 데이터 데이터나 인덱스를 원하는 기간 만큼 쉬프트 하는 메서드
  • 문법 : DataFrame.shift(periods=기간, freq=None, axis=0, fill_value='비었음') 
  • 주요 파라미터
    • periods: 이동할 기간. 음수 또는 양수로 입력.
    • freq: 선택 매개변수. Y, M, D, H, T, S, Timestamp, 'Infer' 등이 위치
    • fill_value: shift로 인해 생긴 결측치를 대체할 값 지정
    • axis: 연산할 축방향 설정. 0(행) / 1(열)
  • 예시
    • df.shift(1).head() #뒤의 날짜의 데이터를 앞으로 한칸 땡김
    • df.shift(**-**1).head() # 앞의 날짜의 데이터를 뒤로 한칸 땡김
    • df.shift(periods=3,freq='D') # 3일 이동
    • df.shift(periods=3,freq='infer') # df의 날짜간격을 분석해서 적당한 주기를 이동

 

Rolling

Rolling(메서드)

  • 정의 : 데이터프레임 내 열에 대하여 일정 크기의 창(window, 범위)를 지정하여 그 window안의 값을 추가 연산을 통해 계산하는 메서드
  • 문법 : DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None, method='single')
  • 주요 파라미터
    • window: 계산할 창(window)의 크기 입니다. 열 기준으로 계산할 경우 행의 수입니다.
    • min_periods: 계산할 최소 크기(기간) . 기본적으로 window 크기와 동일.
    • center: 계산을 중간 행에서 할 지 결정하는 파라미터. 기본값은 False, True 로 할 경우 중간 행을 기준으로 계산합니다.
    • win_type: triang / gaussian 등 가중치를 넣어 계산할 경우 계산 방식.
    • on: 시계열 인덱스나, 시계열과 유사한 열이 있을 경우 이 열을 기준으로 rolling을 수행할 수 있습니다.
    • axis : 연산할 축방향 설정. 0(행) / 1(열)
    • closed: 연산이 닫히는 방향을 설정. left / right / both / neither 이 존재합니다.
      • right: 오른쪽 값을 포함하여 계산
      • left: 왼쪽 값을 포함하여 계산
      • both: 양쪽을 포함하여 계산
      • neither: 양쪽을 포함하지 않고 계산
    • method:{'single' / 'table'} numba를 이용하여 테이블 계산을 진행하여 속도를 높힐지 여부. 현재 'single'만 사용가능.

Expanding

Expanding (메서드)

  • 정의 : 행이나 열의 값에 대해 누적으로 연산을 수행하는 메서드
  • 문법 : df.expanding(min_periods=1, axis=0, method='single').추가메서드()
  • 주요 파라미터
    • min_periods: 연산을 수행할 요소의 최소 갯수입니다. 이보다 작으면 NaN을 출력
    • axis : 연산할 축방향 설정. 0(행) / 1(열)
    • method: 연산방식. single(연산을 한 줄씩 수행) table(전체 테이블에 대해서 롤링수행). 기본값 single , 롤링 연산할 경우 numba 라이브러리 추가로 import 필요.

 

2. 데이터 타입별 상관관계

 

  • 연속형 ↔︎ 연속형
    • 피어슨 상관계수
  • 연속형 ↔︎ 범주형(이분형)
    • Point-Biserial Correlation
  • 연속형 ↔︎ 범주형(3개 이상)
    • ANOVA 검정 (분산 분석)
  • 범주형 ↔︎ 범주형
    • 파이 상관계수(Phi(φ) coefficient) 또는 Cramer's V

 


 

마무리

 

으어...내일은 푹 쉬고 일요일에 못한 것들 좀 해야겠다..