✏️데이터 취업 스쿨 스터디 노트(서울시 CCTV 현황 분석 ②)

Cheon Bumin·2023년 12월 10일

Study Note✏️

목록 보기
14/17

12/10 Data Study to do

  • CCTV데이터와 인구현황 데이터 훑어보기(7-8강)

오늘 공부 요약짤...🥲


📌공부 내용

서울시 CCTV 현황 분석

✅ 목표

  1. 서울시 구별 CCTV 현황 데이터 확보
  2. 인구 현황 데이터 확보
  3. CCTV 데이터와 인구 현황 데이터 결합
  4. 데이터 정리 및 정렬
  5. 그래프 시각화
  6. 전제적인 경향을 파악
  7. 그 경향에서 벗어난 데이터 강조
- 사용 기능 정리 -
1,2,3,4 : Python, Pandas
5 : Matplotlib
6 : Regression using Numpy
7 : Insight and Visualization

-----------▲ 12/4 작성 내용 ▲-----------

✅ 서울 CCTV 현황 데이터 훑어보기

  • 데이터의 index, columns, values 파악
    - CCTV_Seoul.head() : 앞부분 출력
    - CCTV_Seoul.tail() : 뒷부분 출력 (index 개수 파악에 용이)

  • 데이터 정렬해서 칼럼별 순위 확인
    - CCTV_Seoul.sort_values(by = '소계', ascending = True).head(5)
    → sort.values : values를 정렬해라
    → by = '소계' : 소계 열에 있는 values를 기준으로
    → ascending = True : 오름차순으로 (False : 내림차순)

  • 데이터 증가율 확인
    - 2013년 이전 < 2014~2016년 CCTV를 많이 설치한 구 찾아보기
    ▶ 최근 증가율을 알 수 있다

✅ 서울시 인구 데이터 훑어보기

  • 데이터의 index, columns, values 파악
    -서울 CCTV 현황 데이터 훑어보기와 동일한 방법

  • 필요 없는 데이터 삭제
    - pop_Seoul.drop([0], inplace=True)
    → .drop([0] : 인덱스 0번째(1번째 행) 데이터 삭제
    → inplace=True) : 앞의 명령어를 데이터에서 업데이트 해라

  • 열에 어떤 카테고리가 있는지 확인
    - pop.Seoul['구별'].unique()
    - len 함수를 사용하면 카테고리 수까지 확인 가능

  • 비율 조사
    - 비율을 찾고 sort로 정렬 + descending : 높은 비율 순위 확인 가능
    - 외국인 비율 = 외국인 / 전체 인구수 100
    - 고령자 비율 = 고령자 / 전체 인구수
    100
    ※ 고령자가 높다고 고령자 비율이 높은 구가 아니다.

-----------▲ 12/10 작성 내용 ▲-----------

✅ 데이터 합치기

  • merge 함수를 활용
    - 데이터 병합에 사용되는 함수
    - Pandas DataFrame 데이터 병합은 자주 사용
    1. pd.merge(left, right, on='칼럼')
      → left와 right 데이터 프레임을 '칼럼' 기준으로 병합해라
    2. pd.merge(left, right, how='left', on='칼럼')
      → '칼럼' 기준으로 left에 right를 병합해라
      → how에 들어가는 데이터 프레임으로 다른 데이터 프레임을 추가해라
      ``` how에 들어갈 수 있는 것
      1. 데이터 프레임 이름
      2. outer : 병합하는 데이터 프레임의 합집합
      3. inner : 병합하는 데이터 프레임의 교집합
      4. how가 없는 경우 자동으로 교집합 데이터만 출력

.

✅ CCTV 데이터와 인구 현황 데이터 결합 진행 순서

1. data_result = 두 자료를 '구별'을 기준으로 데이터 병합
- how 옵션 안써도됨
→ 두 자료의 칼럼 '구별' 개수가 일치하기 때문

2. 필요 없는 칼럼 제거 (2013~2016년)
- del 함수 사용
- 위의 데이터는 앞으로 사용하지 않기 때문에 삭제

3. set_index로 index를 새롭게 설정
- set_index는 index를 재지정하는 명령어
- index로 설정하는 Serises는 중복되는 데이터가 없어야 함
- 그래프 그릴 때 용이한 index 설정 필요

4. 가설 설정 : 인구가 많을 지역이 CCTV 수가 많다?
- 목표 : 인구대비 상대적으로 CCTV가 적은 구를 찾는 것
→ 인구데이터와 CCTV의 상관관계 여부를 확인하기 위한 가설 설정

5. 가설 확인 (상관관계 확인)
- 주의할 점 : 상관관계가 있다고 인과관계가 있는 것은 아님

  • 상관관계의 핵심 : 한 데이터가 증가할 때 다른 쪽 데이터가 변화하느냐
    - 상관계수는 절대값 1이 가장 높은 숫자 (0.2 이상의 데이터만 의미있음)
    - 음의 상관관계 : 한 데이터가 작아질 때 다른 데이터도 작아진다
    - 양의 상관관계 : 한 데이터가 커질 때 다른 데이터도 커진다
    `
  • 상관관계 계산법 : 변수.corr()
    - 주대각선(빨간색 선) : 자기 자신과의 상관관계는 항상 1
    - 우리가 확인해야 되는 것 : 소계와 인구수 ▶ 0.23
    → 0.2 이상이라 의미는 있으나 큰 영향이 있지는 않다

5.구별 인구대비 CCTV 현황 분석 진행
- 가설(구별 인구대비 CCTV 수가 상관관계가 있다) 미입증
- 상대적으로 CCTV가 적거나 많은구를 찾는 것이 유의미

CCTV 비율 만들기

  • CCTV 비율이 높은 구 찾는 방법
    1. CCTV 비율 칼럼 생성 ▶ 소계(CCTV 개수) / 인구 * 100
    2. CCTV 비율 기준으로 정렬

    `
  • CCTV 비율이 낮은 구 찾는 방법
    1. CCTV 비율이 높은 구 데이터에서 내림차순(ascending=True)
-----------▲ 12/6 작성 내용 ▲-----------

하루 공부를 마치며🔥

  • 오늘 학습 시간 : 43분
profile
포기만 하지 말자

0개의 댓글