✏️데이터 취업 스쿨 스터디 노트(EDA ④)

Cheon Bumin·2023년 12월 8일

Study Note✏️

목록 보기
12/17

12/7~8 Data Study to do

  • Pandas 피봇테이블 (Ch.3 서울시 범죄 현황, 3-4강)
  • python의 for문 (Ch.3 서울시 범죄 현황, 10-11강)
  • seaborn (Ch.3 서울시 범죄 현황, 18-21강)
  • list 데이터형 (Ch.4 웹 데이터 분석, 12-13강)
  • 자기소개서 필수문항

오늘 공부 요약짤...🥲


📌공부 내용

Pandas 기초

✅ pivot_table (표 데이터 재구조화 명령어)

  • 데이터 프레임에서 데이터 재구조화/재정렬에 사용되는 기능
    - 인덱스와 밸류값은 필수적으로 추가해야함
    - 선택한 인덱스와 인덱스가 가지고 있는 숫자 데이터 출력
    - 중복된 데이터를 정렬하는 디폴트 옵션 : mean(평균)
    → aggfunc(함수)를 설정하지 않았을 경우
  • pd.pivot_table(데이터 프레임, 인덱스, 밸류) 형태로 사용

괄호 속에 들어가는 요소

  • 데이터 프레임 : 자료형 데이터
  • index = ['칼럼'] : 해당 칼럼을 인덱스로 설정 (여러개 지정 가능)
  • values = ['칼럼'] : 숫자형 데이터 중 해당 칼럼만 출력
  • aggfunc = np.계산기능 : 인덱스가 가지고 있는 숫자형 데이터에 함수 적용
    - 여러개 사용 가능
    - 합산(np.sum), 평균(np.mean), 개수(len) 등
  • columns = ['칼럼'] : 칼럼에 있던 항목들로 분류 가능 (아래 이미지 참고)
    - 없는 데이터는 NaN으로 표기
  • fill_value = 대체 데이터 : NaN으로 표기된 데이터들을 어떻게 채울 것이다
  • margins = True : Total 값을 표시 (디폴트 False)

✅ iterrows (Pandas 반복문 명령어)

  • Pandas 맞춤형 반복문 명령어
    - for문을 사용하면 가독률이 떨어져서 iterrows가 판다스에 적합
  • 받을 때 인덱스와 내용으로 나누어 받는 것 주의 필요

Seaborn

✅ seaborn

  • inmport seaborn as sns : 보통 sns라고 약칭
  • matplotlib와 유사한 기능
    - seaborn을 사용하는게 좀 더 편리함
  • seaborn은 matplotlib를 가지고 옴
    - seaborn을 import 하는 것만으로도 matplotlib 그래프가 seaborn 스타일로 변경
    plt를 활용하여 그래프 생성 → seaborn 스타일로 그래프 출력
  • sns.set_style('테마') : seaborn 그래프 스타일 호출 명령어
  • sns.load_dataset : Seaborn에 내장된 다양한 실제 데이터셋 호출
  • seaborn에서도 pivot_table 사용 가능
    ※ matplotlib 그래프 크기 설정 옵션 : figsize
    ※ seaborn 그래프 크기 설정 옵션 : size

seaborn 그래프 스타일(테마)

1. white 스타일
- 그래프 안 그리드가 없는 테마
- sns.despine() : 위, 오른쪽 그래프 선 삭제 명령어
→ 괄호 속에 offset 옵션 추가 가능
→ x와 y가 만나는 선이 떨어져 보이도록 하는 옵션 (ex. ③ whitegrid 스타일)
.
2. Dark 스타일
- 그래프의 배경이 파란색인 테마
.
3. whitegrid 스타일
- 흰색 배경에 그리드가 있는 테마

Seaborn 그래프 종류

✅ boxplot

  • sns.boxplot(x='x축 데이터', y='y축 데이터', data=data) 로 사용
  • 데이터 시각화 라이브러리 중 하나
  • 데이터의 중앙값, 사분위수(25%, 50%, 75%), 이상치 등 쉽게 파악 가능

그래프 이미지 의미

  • 상자 : 데이터의 사분위수
  • 막대 : 전체 데이터의 범위
  • 점(이상치) : 다른 데이터와는 극단적으로 다른 값 (아웃라이어라고 명명)
  • 상자 속 선 : 메디안(median, 중앙값) ↔ 평균 과 다른 값

  • hue = '칼럼' : 칼럼을 기준으로 분류해주는 옵션
  • palette = '색상명' : seaborn이 가지고 있는 색상표에서 '색상명'을 선택

✅ swarmplot

  • sns.swarmplot(x='x축 데이터', y='y축 데이터', data=data, color ='숫자')로 사용
  • 데이터의 분포를 보여주는 그래프
  • 단독 사용보다는 boxplot과 함께 콜라보하여 사용하는 것을 추천

✅ lmplot

  • sns.lmplot(x='x축 데이터', y='y축 데이터', data=data, size = 숫자)로 사용
  • 점과 선이 함께 있는 그래프 형태
    - 기본적으로 스캐터(scatter) 형태와 같이 점을 뿌린듯한 모양
    - 이 데이터를 직선으로 표현한 선을 추가
  • lmplot에서도 hue 옵션 사용 가능
  • 선 주위의 흐린 영역이 좁을 수록 강한 상관관계를 가지고 있음

  • 해석 : 해당 가게에서는 Total Bill이 증가할 수록 Tip이 줄어드는 상관관계를 보임
    - 주황색 선의 흐린 영역이 좁아서 위와 같은 인사이트 도출 가능

✅ heatmap

  • sns.heatmap(데이터베이스, annot = True of False, fmt = 'd', cmap = 'ylGnBu')
    - annot = True : 그래프 속 박스에 데이터를 적어라
    - fmt = 'd': 소수점이 있는 데이터를 정수를 바꿔줘라
    • cmap = 'ylGnBu' : 그래프의 색상을 색상표에 있는 것으로 바꿔줘라

  • 인사이트
    1. 해마다 전체 승객의 수가 커지고 있음
    1. 여름 승객이 특히 많음
    2. 해가 지날 수록 경울 철 승객이 증가하고 있음

✅ pairplot

  • sns.pairplot(데이터 베이스)
  • 다수의 칼럼을 비교하는데 용이한 그래프
    - 특성 별로 상관관계를 빠르게 파악할 수 있음
  • hue 옵션 사용 가능

pairplot 그래프 사용

  • x,y 축 데이터로 칼럼이 자동 세팅되어 그래프 출력

  • 원하는 칼럼만 셀렉하여 x,y축 데이터로 세팅 가능
    - x_vars = '칼럼' : x 데이터로 칼럼 선언
    • y_vars = '칼럼' : y 데이터로 칼럼 선언

  • anscombe.query("칼럼 == 'I'") : 칼럼에서 I인 값만 호출해라
    - query 명령어는 조건문처럼 쓰이기도 함
  • ci = None : 선 주변 흐린 영역(lmplot에서 참고)을 off 해라
  • scatter_kws = {'s' : 80} : 마커 사이즈 설정

  • order를 2로 선언하면 선이 점을 따라서 바뀜(???)

  • robust = None : 평균적인 데이터 범위에서 벗어난 값을 없는 것으로 취급해라
  • 벗어난 값을 없는 것처럼 해서 직선 완성

하루 공부를 마치며🔥

  • 오늘 학습 시간 : 6시간 3분
  • 주말에 못다한 공부를 진행할 예정이다!
profile
포기만 하지 말자

0개의 댓글