리샘플링과 시각화 시계열

JOOYEUN SEO·2024년 12월 23일

100 Days of Python

목록 보기
75/76
post-thumbnail

🗂️ Day75 프로젝트: 구글 트렌드 데이터

구글 트렌드를 통해 구글 검색어의 인기도에 접근 후 데이터 분석하기

  • '비트코인' 검색량과 비트코인 가격의 관련성
  • 테슬라와 같은 인기 주식 검색량과 해당 주식 가격의 관련성
  • '실업 수당'에 대한 검색량과 미국의 실제 실업률과의 차이

1. 탐색: 구글 검색 데이터 이해

🔍 유의 사항

  •  .describe() 메소드로 통계 설명 보기
  • 각 데이터프레임 확인
    • df_tesla
    • df_unemployment
    • df_btc_search
    • df_btc_price
  • 구글 검색 트렌드
    • 주어진 지역기간에 대한 상대적 검색 관심도
    • 해당 주제와 관련된 검색의 횟수가 아닌 수치를 조정한 결과
    • 범위는 0(용어에 대한 충분한 데이터가 없음)에서 100 사이

2. 정리: 시계열 데이터를 리샘플링

🔍 유의 사항

  • 4개의 데이터프레임에서 누락된 값, NaN 값이 있는지 확인하고 제거
    • .dropna() 메소드로 누락값 제거
    • inplace 인수를 사용하면 따로 행을 만들지 않고 데이터프레임을 덮어쓰기 가능
  • MONTH 또는 DATE 열에서 문자열인 데이터를 찾으면 모두 Datetime 객체로 변환하기
  • 비트코인 가격의 일별 데이터를 월별 데이터로 변환하여 통일
    •  .resample() 메소드로 시계열 데이터를 다시 샘플링하기
      • 사용할 열, 원하는 샘플 빈도(DateOffset objects) 정하기
      • 리샘플링 후 선택할 데이터를 명시(해당 월말의 가격으로)

3. 시각화: 맷플롯립을 이용한 테슬라 선형 차트

🔍 유의 사항

  • 테슬라 주가와 검색 인기도에 대한 꺾은선 차트 생성 후 추가 스타일 지정
  •  .show() 메소드로 셀 아래 차트를 보이게 하기
  • 맷플롯립 경고가 나온 경우 아래의 코드 추가
    (어떤 날짜/시간 변환기를 사용할지 명시하라는 권고)
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()

4. 로케이터와 데이트포매터를 사용하여 타임라인에 눈금 표시

🔍 유의 사항

  • x축에 로케이터 눈금 표시하기
    1. 코드 추가
    import matplotlib.dates as mdates
    1.  YearLocator() 객체로 맷플롯립에서 연도를 찾음
       MonthLocator() 객체로 맷플롯립에서 월을 찾음
       DateFormatter() 객체로 날짜를 표시하는 방법을 지정
    2. 차트에 로케이터를 사용하여 큰 눈금과 작은 눈금이 있어야 할 곳의 형식을 지정

5. 시각화: 비트코인-선 스타일과 마커

🔍 유의 사항

  • 비트코인 뉴스 검색량과 앞에서 리샘플링한 가격 데이터로 차트 생성
  • .plot() 메소드에서
    • linestyle 매개변수로 스타일 변경
      • 'solid' 또는 '-' → ───────
      • 'dashed' 또는 '--' → ── ── ──
      • 'dotted' 또는 ':' → ············
      • 'dashdot' 또는 '-.' → ─·─·─·─·─·
      • 'None' 또는 '' → (선 없음)
    • marker 매개변수로 마커 스타일 변경
      • '.' → •
      • ',' → ·
      • 'o' → ●
      • 's' → ■
      • '^' → ▲
      • 'v' → ▼
      • '<' → ◀
      • '>' → ▶
      • 'x' → ×
      • 'None' 또는 '' → (마커 없음)

6. 시각화: 실업-격자

🔍 유의 사항

  • 미국의 월별 ‘실업급여’ 검색량과 실제 실업률 비교
  •  .grid() 메소드로 차트에 격자 추가
  • 데이터의 6개월 간 연속적인 평균을 계산하여 그래프를 평탄하게 만들기

7. 시각화: 실업-새로운 데이터에 의한 영향

🔍 유의 사항

  • UE Benefits Search vs UE Rate 2004-20.csv 파일을 차트로 표시하기
  • 6번에서 19년도까지의 데이터로 생성한 차트와 비교




▷ Angela Yu, [Python 부트캠프 : 100개의 프로젝트로 Python 개발 완전 정복], Udemy, https://www.udemy.com/course/best-100-days-python/?couponCode=ST3MT72524

0개의 댓글