1. 이제까지 배운 정보를 바탕으로 다시 서울시 범죄현황 데이터를 정리해보자. 경찰서를 인덱스로 하여 죄종과 발생 및 검거를 columns로 정리하였고, 합계를 표시하기 위해 np.sum을 하였고, fill_value = 0을 넣어 NaN을 없애 주었다.

2. 문제가 있다. 피벗테이블을 사용할 경우 자주 발생하는 현상인데, 멀티컬럼/멀티인덱스가 발생한다.(한 컬럼에 col이나 idx가 다중으로 잡히는 경우)

3. 일단 이런 멀티 컬럼에 접근하는 방법은 상위부터 하위까지 차례대로 배열의 값으로 입력해주는 것이다.
* 가장 상위의 컬럼을 level 0, 하위로 내려갈수록 level +1이라 칭한다.

4. 가장 위에 있는 sum과 건수(level 0, level 1)컬럼을 제거해보자. columns.droplevel()을 사용해준다.

5. 실제로 표를 표시해보면 이렇다.

6. 정리가 되었다. 그런데 현재 구분기준(index)가 경찰서 이름으로 되어 있다. 경찰서 이름으로 구 이름을 알 필요가 있다.

7. 이제 새로운 모듈을 설치해야 한다. 그 전에 간단하게 pip 기능에 대해 정리해보자.
지금까지 프로젝트는 대부분 anaconda를 바탕으로 이뤄졌다. anaconda에는 기본적으로 대부분의 모듈들이 설치되어 배포되어 있다. 그러나 원래는 유저가 직접 필요한 라이브러리를 검색/설치해야 한다.
pip: Python의 공식 모듈 관리자
pip list: 현재 설치된 모듈 반환
pip install module_name: 모듈 설치
pip uninstall module_name: 설치된 모듈 제거
8. 이런 명령을 jupyter notebook에서도 사용할 수 있다. get_ipython().system()명령어를 통해서 사용 가능하다.

9. 그런데 Anaconda 환경에서 pip 기능을 사용하면 dependency관리가 정확하지 않을 수 있다. 아나콘다에서는 가급적 conda 명령어를 사용해서 모듈을 관리하는 것이 좋다.
conda list: 설치된 모듈 list
conda install module_name: 모듈 설치
conda uninstall module_name: 모듈 제거
conda install -c channel_name module_name: 지정된 배포 채널에서 모듈 설치
그러나 모든 모듈이 conda로 설치되는 것은 아니다.
10. 이제 이러한 정보들을 바탕으로 Google Maps API를 설치해보자. conda 기능으로 google maps api를 활용하여 범죄 데이터별 정보들을 보다 정확하고 눈에 잘 들어오도록 시각화할 계획이다. 먼저 구글에 conda install googlemaps를 검색해보았다.
https://anaconda.org/conda-forge/googlemaps
Googlemaps :: Anaconda.org
Description Use Python? Want to geocode something? Looking for directions? Maybe matrices of directions? This library brings the Google Maps API Web Services to your Python application. Analytics
anaconda.org
11. installers란에 있는 conda install conda-forge::googlemaps명령어를 사용해서 가상환경에 googlemaps api를 설치했다. 라이브러리의 발전에 따라 명령어는 변화한다. 반드시 사전에 검색해보고 변화한 명령어를 사용해야 한다.

* 무료 라이브러리들의 경우 의존성 충돌 문제가 발생할 수 있다. 항상 주의하고 버전을 확인해줘야 한다.
12. googlemaps api를 활용하려면 api key가 필요하다. 이 과정은 용도(웹, 앱)와 API 사용처(geocoding 등)에 따라 다르다. 자세한 부분은 구글맵스의 안내를 참고하자.(백엔드나 배포 프로젝트를 해보면 정말 많이 필요한 기능이기도 하다.)
https://developers.google.com/maps/documentation/javascript/get-api-key?hl=ko
API 키 사용하기 | Maps JavaScript API | Google for Developers
의견 보내기 API 키 사용하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Google Maps Platform 제품은 API 호출을 적절한 사용자 인증 정보를 제공하는 API 호출
developers.google.com
13. conda 명령어로 googlemaps를 설치했고, API키까지 받아왔다면, 이제 데이터를 활용할 차례다.
'데이터분석 > 미니프로젝트 01. 서울시 CCTV 현황 분석' 카테고리의 다른 글
| 미니프로젝트 01-02-04. 서울시 범죄현황 데이터 최종 정리 (3) | 2024.03.26 |
|---|---|
| 미니프로젝트 01-02-03. googlemaps에서 구별 정보를 얻어 데이터 정리, 구별데이터로 변경하기 (1) | 2024.03.26 |
| 미니프로젝트 01-02-01. 강남 3구 범죄현황 데이터, Pandas의 Pivot Table (0) | 2024.03.24 |
| 미니프로젝트 01-01-05. CCTV 데이터와 그래프로 표현하기(데이터시각화) (1) | 2024.03.22 |
| 미니프로젝트 01-01-04. matplotlib 활용하기 (0) | 2024.03.21 |