728x90
반응형
SMALL
728x90
반응형
LIST
728x90
반응형
SMALL

이번 포스팅은 서울시 CCTV data와 인구현황 data를 분석해 보도록 하겠습니다.

csv와 excel data를 불러오도록 하겠습니다.

 

pandas 모듈 import 하기

복습 차 칼럼 이름명도 다시 바꿔보겠습니다.

서울시 인구 현황 excel파일 읽어오기


본격적으로 시작해 보겠습니다. 먼저 서울시 CCTV 데이터입니다.

먼저 구별 CCTV 데이터에서 CCTV의 개수를 의미하는 소계로 정렬해 보겠습니다.

간단하게 정리해본모습입니다.

도봉구 < 마포구 < 송파구 < 중랑구 < 중구 순으로 CCTV가 제일 없다는 것을 확인할 수 있는데요,
추후 구별 범죄율 분석을 진행할 때 다시 확인하겠지만 강남 3구 중 하나인 송파구의 CCTV가 가장 적은 구 중 하나라는 것을 확인할 수 있습니다.
하지만 송파구는 결코 범죄율이 낮지 않은 구이지만, CCTV가 적은 구 중 하나라는 사실만 알고 넘어갑시다

이어서 CCTV 개수가 가장 높은 순으로 내림차순을 진행해 보겠습니다.

CCTV가 제일 많은 곳은 강남구 > 양천구 > 서초구 > 은평구 > 용산구가 순서로 확인됩니다.

이어서 3년간 CCTV 증가율을 구해서 3년간 CCTV가 제일 많이 증가한 구를 구해 보겠습니다.

 

최근 3년 치 CCTV 개수(2014~2016년) 더하고 2013년 이전 CCTV개수로 나누고 100 곱해서 증가율 구하기

결과를 보면 최근 3년간의 CCTV가 2013년 이전 대비 가장 많이 증가한 곳은

종로구 > 도봉구 > 마포구 > 노원구 > 강동구 순이라는 것을 알 수 있습니다.

 


이번에는 서울시 인구 데이터를 다뤄보겠습니다.

먼저 데이터를 다시 한번 확인해 보죠

0번 인덱스에 위치한 합계는 별로 필요 없는 데이터입니다. (구별 데이터가 중요하기 때문입니다.)
따라서 데이터 삭제 명령어를 이용해 보겠습니다. 

drop() 함수를 이용해 원하는 데이터를 삭제시킬 수 있습니다.

0번 인덱스에 위치하던 합계가 잘 삭제된 것이 확인됩니다.
이어서 지역구의 이름을 의미하는 '구별' 컬럼이 유일한 컬럼(unique column)인지 확인해 봐야 할 것 같습니다.
이유는 혹시라도 중복된 구가 있으면 해당하는 구를 유일하게 만들어 데이터로써 무결하게 사용해야 하기 때문입니다.

unique() 함수를 활용해 해당 컬럼의 데이터가 데이터 프레임에서 한번 이상 나타나 있는지 확인해 봅시다.

이를 유니크 조사라고 합니다

다 잘 나온 것 같지만 문제는 제일 마지막에 nan이 있는 것이 확인됩니다.

nan데이터가 어디에 있는지 확인해 봅시다.

이때 사용할 수 있는 함수는 isnull() 입니다.

26번 인덱스의 데이터가 전부다 NaN인 것이 확인했습니다.

합계처럼 저희에겐 필요 없는 데이터가 될 것 같습니다.
왜냐 하면 우리는 값이 있는 것들만 활용할 예정이기 때문입니다.

값이 없는 26번 인덱스의 데이터는 drop()으로 삭제하겠습니다.

이제부터 본격적으로 구별 전체 인구를 활용해서 먼저 '외국인 비율'과 '고령자 비율'을 계산해 보겠습니다.

각종 기준을 토대로 정렬해서 데이터를 정렬만 해보겠습니다.
지금부터 정렬할 기준들은 다음과 같습니다.
인구수, 외국인, 외국인 비율, 고령자, 고령자 비율

여기까지는 그냥 컬럼 다루기와 정렬하는 연습일까?

열심히 외국인 비율 및 고령자 비율 만들고 그다음 정렬하는 코드도 다시 한번 실습해 보았습니다.
사실 여기까지는 정말 연습 이긴 합니다만

여기에서도 아주 간단하게 데이터를 분석할 수 있습니다.

  1. 인구수가 제일 많은 5 지역은 송파구, 강서구, 강남구, 노원구, 관악구 순입니다.
  2. 외국인이 제일 많은 5 지역은 영등포구, 구로구, 금천구, 관악구, 동대문구 순입니다.
  3. 하지만 외국인 비율이 제일 많은 5 지역은 영등포구, 금천구, 구로구, 중구, 용산구로 외국인 인구수와는 약간 다릅니다.
  4. 고령자가 제일 많은 5 지역은 강서구, 송파구, 은평구, 노원구, 관악구 순입니다.
  5. 하지만 고령자 비율이 제일 많은 5 지역은 강북구, 종로구, 중구, 용산구, 서대문구 순입니다.

이를 토대로 우리가 알 수 있는 것은 무엇일까요?

아직 데이터를 시각화하거나 하는 과정은 하지 않았지만, 몇 가지 생각은 해 볼 수 있을 것 같습니다.

  1. 인구수가 제일 많은 지역은 송파구이지만, 영등포구가 제일 외국인이 많다. 그리고 그 근처라고 할 수 있는 구로구, 금천구 등도 굉장히 외국인이 많다.
  2. 송파구는 고령자가 제일 많지만 고령자의 비율이 높지 않은 것이 확인된다.
    하지만 강북구, 종로구, 중구, 용산구, 서대문구 같은 경우는 인구수 대비 고령자 비율이 많기 때문에 추후 고령화가 우려된다.

같은 형식으로 데이터 분석이 가능하겠네요.

하지만 아직 CCTV와 인구수는 전혀 관련 없잖아요?

다음 포스팅부터 두 데이터를 병합해서 분석해 보겠습니다. 인구 대비 CCTV 현황을 분석 해 보겠습니다.
pandas 고급 사용법으로 이어서 넘어가도록 하겠습니다.

 

728x90
반응형
LIST

+ Recent posts