23. EDA-2

wonny_·2023년 8월 4일
0

EDA

목록 보기
2/10
  • CCTV 데이터 훑어보기

    • 소계 컬럼 기준으로 오름차순 정렬하기
CCTV_Seoul.sort_values(by="소계", ascending=True).head(5)

  • 최근 3년간 그 전 보유한 개수 대비 CCTV를 많이 설치한 구를 순서대로 나열
CCTV_Seoul["최근증가율"] = ((CCTV_Seoul["2016년"] + CCTV_Seoul["2015년"] + CCTV_Seoul["2014년"]) / CCTV_Seoul["2013년도 이전"] * 100)

CCTV_Seoul.sort_values(by="최근증가율", ascending=False).head(5)


  • 인구현황 데이터 훑어보기
  1. 데이터 확인
pop_Seoul.head()

  1. 첫 행(0번)의 합계 삭제 drop
pop_Seoul.drop([0], inplace=True)
pop_Seoul.head()
  1. 구별 데이터 확인하기
    • unique(): 겹치지 않는 고유의 값 반환
      (데이터 종류별로 구분하여 알아냄)
    • len() : 데이터 개수 반환
pop_Seoul["구별"].unique() 
len(pop_Seoul["구별"].unique())
  1. 컬럼 추가하기
  • 외국인 비율, 고령자 비율 컬럼 추가
pop_Seoul["외국인비율"] = pop_Seoul["외국인"]/pop_Seoul["인구수"] * 100
pop_Seoul["고령자비율"] = pop_Seoul["고령자"]/pop_Seoul["인구수"] * 100
pop_Seoul.head()

  • 데이터 합치기

    • merge를 이용한 데이터 병합

    • Pandas DataFrame 데이터끼리의 병합은 빈번히 발생

    • 두 데이터 프레임에서 컬럼이나 인덱스를 기준으로 잡고 병합하는 방법

    • 기준이 되는 컬럼이나 인덱스를 key 값이라고 함

      • 기준이 되는 키값은 두 데이터 프레임 안에 모두 포함되어 있어야 함
    • key 컬럼 기준으로 공통으로 가지고 있는 것들로만 병합

       pd.merge(left, right, on="key")

    • left에 key 기준으로(left의 key 다 보존) right 병합

      • right에는 K4자리가 없기 때문에 NaN으로 출력
       pd.merge(left, right, how="left", on="key"

    • right에 key 기준으로 left 병합

      • left에 k1이 없으니 NaN! left만 가지고 있는 K4는 사라짐
       pd.merge(left, right, how="right", on="key")

    • 둘 다 손상되지 않도록 key를 기준으로 병합
      • how="outer" : 두 데이터 프레임 값을 살림. 합집합
    • key 칼럽에서 두 데티어의 공통분모만 병합
      • how="inner": 교집합
    pd.merge(left, right, how="outer", on="key")
     
     pd.merge(left, right, how="inner", on="key")

  • 구별 기준으로 데이터 합치기

    data_result = pd.merge(CCTV_Seoul,pop_Seoul, on="구별"
     data_result.head()

  • 필요없는 컬럼 제거

    del data_result["2013년도 이전"]
     del data_result["2014년"]
     del data_result["2015년"]
     del data_result["2016년"]
     data_result.head()

  • 인덱스 변경

    • set_index()
    • 선택한 컬럼을 데이터 프레임의 인덱스로 지정
    data_result.set_index("구별", inplace=True)
     data_result.head()


  • CCTV비율 컬럼 추가 (CCTV비율이 높은 구 확인)
 data_result["CCTV비율"] = data_result["소개"] / data_result["인구수"]
 data_result["CCTV비율"] = data_result["CCTV비율"] * 100
 data_result.sort_values(by="CCTV비율", ascending=False).head(5)


profile
파이팅

0개의 댓글