카테고리 없음
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의 크기 범위를 지정