22 Sat

단 두 장의 문서로 데이터 분석과 시각화 뽀개기

[0/25] 소스코드와 파일 다운로드 위치

https://colab.research.google.com/github/corazzon/cracking-the-pandas-cheat-sheet/blob/master/seoul-covid-19-01-read_html-output.ipynb

https://colab.research.google.com/github/corazzon/cracking-the-pandas-cheat-sheet/blob/master/seoul-covid-19-02-eda-input.ipynb

[1/25] 판다스 단 한 줄로 서울시 코로나19 발생동향 수집하기

pd.read_html(url)

  • url에 있는 html 태그를 읽어 판다스 데이터프레임 타입으로 반환한다.

[2/25] 판다스로 분석해볼 내용 소개

간단한 소개

[3/25] 판다스로 수집해 온 CSV 파일 로드하기

pd.read_csv(file_name)

  • csv 파일을 읽는 함수

  • encoding 은 utf-8과 cp949 등이 있다.

    • 인코딩에 맞게 읽고 쓰지 않으면 에러가 난다

Sort

  • df.sort_values

    • 값으로 정렬

  • df.sort_indexs

    • 인덱스로 정렬

또한, shift+tab을 누르면 자동완성을 이용할 수 있다

[4/25] 시각화를 위한 한글 폰트 설정

pd.Series.plot() : 선 그래프

pd.Series.plot.bar(tilte="") : 막대 그래프

이 때, 한글을 사용할 경우 한글이 깨질 수 있다. 이럴 경우에는 다음과 같이 해야한다.

import matplotlib.pyplot as plt

# Windows
plt.rc("font", family="MalgunAppleGothic")

# Mac
plt.rc("font", family="AppleGothic")

또한, -2, -4와 같은 음수값에 대해 - 기호가 깨지는 경우가 있는데 이는 다음 코드로 해결한다

plt.rc("axes", unicode_minus=False)

시각화 폰트를 더 선명하게 보는 방법도 있다.

from IPython.display import set_matplotlib_formats
set_matplotlib_formats("retina")
  • 이 때 retina 디스플레이가 지원되는 환경에서만 차이를 느낄 수 있다.

[5/25] 시계열 데이터 전처리

df.value_counts()

  • object 타입에 대한 값을 셀 때 주로 사용한다.

  • 수치형도 가능하기는 하다.

df.replace('A', 'B')

  • df.replace('A', 'B') 는 df가 'A'와 완전히 동일해야 B로 치환된다.

    • df가 30일 때 60으로 바꾸려는 경우만 가능하다.

    • df가 30- 일 때 60. 으로 바꾸는 경우는 불가능 하다.

  • 그러나 우리가 6.30. 을 6-30- 으로 바꾸고 싶을 때가 있다. 이럴 때는 df.str.replace() 를 사용하면 된다. df.str은 파이썬의 문자열 함수를 사용할 수 있도록 한다

pd.to_datetime('A')

  • A를 데이터프레임의 자료형 중 하나인 datetime으로 캐스팅한다.

  • 이 경우 datetime의 attribute에 접근할 수 있다.

    • df.month

    • df.year

    • df.week

    • 등등

Last updated

Was this helpful?