[TIL] 22.10.06

문종현·2022년 10월 6일
0

TIL

목록 보기
10/119

👉 오늘 한 일

  • plotly 실습 이어서
  • 코로나 19 데이터 EDA
  • 3주차 과제(타이타닉)

Plotly

언제, 어떤 데이터에 어떤 그래프를 그릴 것인지 이해하기

scatter : 두 변수의 상관관계를 보고자 할 때 많이 사용

box

  • notched 파라미터로 노치형으로 그릴 수 있음
  • points 파라미터는 선택한 데이터 분포를 점으로 찍어서 보여줌

pandas, seaborn, plotly가 파이썬 시각화 라이브러리 중 가장 common함

코로나 19 데이터 EDA

glob : 파일 찾는 라이브러리

  • from glob import glob
  • 정규표현식 사용 (e.g. glob("seoul*.csv"))

혹은 이런 방법으로 파일 찾기도 가능

import os
for dirname, _, filenames in os.walk('디렉토리명'):
    for filename in filenames:
        print(os.path.join(dirname, filename))

서울시에서 제공하는 코로나 데이터는 개인을 특정할 수 없음

  • 연번 : 확진 순서
  • 환자 : 확진자 식별번호

pd.concat()

  • axis=0은 행으로(default), axis=1은 열로 합침

df[df.duplicated()] : 중복 데이터 확인
df.drop_duplicates() : 중복 데이터 제거

jupyter_contrib_nbextensions : 주피터의 문서화 익스텐션

  • 아나콘다 프롬프트에서 conda install -c conda-forge 후 주피터 재실행

Series accessor

  • str => string
  • dt => datetime
  • cat => category
  • sparse => sparse

pd.to_datetime() : datetime으로 형변환

  • 혹은 read_csv(parse_dates=[날짜컬럼]) 로 데이터 불러올 때 datetime으로 불러오기 가능

Series.str[슬라이싱]으로 시리즈 데이터 내 문자열 슬라이싱 가능

dt.dayofweek : 요일을 숫자로 반환(0:월요일, 6:일요일)

요일로 바꾸기

  • 익명함수 lambda 사용 df["요일"].map(lambda x : "월화수목금토일"[x])
    • lambda 반환값 : 식
  • 미리 정의해둔 함수 적용 df["요일명"] = df["요일"].map(find_dayofweek)
def find_dayofweek(day_no):
  dayofweek = "월화수목금토일"
    
  return dayofweek[day_no]

간단한 함수는 lambda로 처리 가능

색인하기
df[컬럼]
df.loc[행]
df.loc[행, 열]
df.loc[조건식, 열]
등...

sort_values() : 값을 기준으로 정렬
sort_index() : 인덱스를 기준으로 정렬

.plot()의 rot 파라미터로 x축 텍스트의 기울기 조절 가능

  • plt.axhline() 으로 가로축 보조선 생성

야크 털 깎기 : 목표한 일 하나를 위해 연관된 작업들을 하다가 결국 원래 목적을 잃고 완전히 관련없는 작업을 하게 되는 것

pd.date_range()로 날짜에 대한 범위 생성 가능
.cumsum() : 누계 계산

두 개의 데이터프레임의 컬럼명이 같을 때 하나의 데이터프레임으로 합쳐주고자 한다면concat() 사용

pivot() 은 형태만 변경하고 연산을 하는 기능이 없음

  • 연산을 하기 위해서는 pivot_table()을 사용
  • pivot_table()은 groupby()를 사용하기 쉽게 만들어 놓은 기능이며, crosstab()은 pivot_table() 을 사용하기 쉽게 만들어 놓은 기능임
profile
자라나라 새싹새싹🌱

0개의 댓글