EDA 서울시CCTV분석 Ⅰ

hh_binvely·2023년 2월 28일
0

4주차_EDA

목록 보기
2/3
post-thumbnail

🎯목표

  • matplotlib, pandas 등 여러 기능을 한 번에 배우기에 적합한 주제이다.
  • 잘 따라가자!

process



Pandas

  • Pandas의 데이터형을 구성하는 기본은 Series이다.
    • index와 value로 이루어져 있다.
    • 한 가지 데이터 타입만 가질 수 있다.
  • R만큼 강력한 데이터 핸들링 성능을 제공하는 모듈
  • 아래와 같이 모듈 호출
import pandas as pd

엑셀/텍스트 파일 읽기

  • 한글은 encoding 설정이 필수
# CSV 파일
CCTV_Seoul = pd.read_csv("../data/01. Seoul_CCTV.csv")
CCTV_Seoul.head()

# Excel 파일
pop_Seoul = pd.read_excel("../data/01. Seoul_Population.xls")
pop_Seoul.head()

pandas가 문서구조에서 통칭하는 명칭

여러가지 기능

  • columns 조회/변경
    • inplace=True 옵션: 변경 내용을 저장한다.
CCTV_Seoul.columns
CCTV_Seoul.rename(columns={CCTV_Seoul.columns[0]: "구별"}, inplace=True)
  • 날짜(시간)를 이용
dates = pd.date_range("20210101", periods=6)
  • DataFrame의 기본 정보 확인
    • 각 컬럼의 크기 및 데이터 형태 확인 가능
df.info()
  • 데이터 정렬
    • sort_values()
    • 특정 컬럼(열)을 기준으로 데이터를 정렬
  • 기술통계 정보 확인
    • df.describe()
  • indexing
    • loc : location
      • index 이름으로 특정 행, 열을 선택
      			df.loc["20210102", ["A", "B"]]
  • iloc : inter location
    • 컴퓨터가 인식하는 인덱스 값으로 선택
      df.iloc[3:5, 0:2]
  • condition 설정 가능
  • 컬럼 추가
    • 기존 컬럼이 없으면 추가
    • 기존 컬럼이 있으면 수정
  • isin() <-> notin()
    • 특정 요소가 있는지 확인
    • 특정 요소가 없는지 확인
  • 특정 컬럼 제거
    • del
      del df["E"]
    • drop
      df.drop(["D"], axis=1)

Pandas에서 데이터 프레임을 병합하는 방법

  • pd.concat()
  • pd.merge()
    • 두 데이터 프레임에서 컬럼이나 인덱스를 기준으로 잡고 병합하는 방법
    • 기준이 되는 컬럼이나 인덱스가 키값
    • 기준이 되는 키값은 두 데이터 프레임에 모두 포함되야 한다.
    #how, on option
    pd.merge(left, right, how="right", on="key")
  • pd.join()

Numpy를 이용한 1차 직선 만들기

  • np.polyfit(): 직선을 구성하기 위한 계수를 계산
  • np.poly1d(): polyfit 으로 찾은 계수로 파이썬에서 사용할 수 있는 함수로 만들어주는 기능

이번 프로젝트 최종 결과물

0개의 댓글