서울시 범죄현황 분석
1. 데이터 읽기
2. null값 빼기
3. 피벗테이블(인덱스, 컬럼 설정)
4. 구글 maps API설치
5. 피벗테이블에 구별, 경도, 위도 컬럼 추가
6. 컬럼 한줄로 정리
import numpy as np
import pandas as pd
crime_raw_data = pd.read_csv("../data/Data/02. crime_in_Seoul.csv", thousands=',', encoding="euc-kr") # 숫자값을 문자로 인식할 수 있어서 설정
crime_raw_data
데이터 정보
crime_raw_data = crime_raw_data[crime_raw_data["죄종"].notnull()]
.unique()
.isnull(), .notnull()
crime_station = crime_raw_data.pivot_table(
crime_raw_data,
index="구분", columns=["죄종","발생검거"],
aggfunc="sum")
crime_station
다중 컬럼
.columns.droplevel([]) : 다중 컬럼에서 특정 컬럼 제거
gmaps.geocode("서울영등포경찰서",language="ko")
![](https://velog.velcdn.com/images/liayeoni/post/14e4a10c-eaa4-48dd-ba01-06d7ad8a3061/image.png)
딕셔너리 값으로 결과 나옴
**위도, 경도 구하기**
```c
print(tmp[0].get("geometry")["location"]["lat"])
print(tmp[0].get("geometry")["location"]["lng"])
tmp[0].get('formatted_address')
결과
37.5260441
126.9008091
'대한민국 서울특별시 영등포구 국회대로 608'
구별, lat, lng 컬럼 추가
crime_station["구별"] = np.nan
crime_station["lat"] = np.nan
crime_station["lng"] = np.nan
crime_station
count = 0
for idx, rows in crime_station.iterrows():
station_name = "서울" + str(idx) + "경찰서"
tmp = gmaps.geocode(station_name, language="ko")
tmp[0].get("formatted_address")
tmp_gu = tmp[0].get("formatted_address")
lat = tmp[0].get("geometry")["location"]["lat"]
lng = tmp[0].get("geometry")["location"]["lng"]
crime_station.loc[idx, "lat"] = lat
crime_station.loc[idx, "lng"] = lng
crime_station.loc[idx, "구별"] = tmp_gu.split()[2]
print(count)
count = count + 1
11번째 줄에서 list out of index 오류가 계속 났다,,
계속 해보고 코드도 강의랑 똑같이 했는데 오류해결을 못했다.
컴퓨터가 느려서 그런건가,,,잘 모르겠다.
crime_station.columns.get_level_values(0)[2]
'강도'
crime_station.columns.get_level_values(1)[1]
'발생'
len(crime_station.columns.get_level_values(0))
13
0에서 컬럼의 length까지 반복문
결과 :컬럼(0)[n] + 컬럼(1)[n]
tmp = [
crime_station.columns.get_level_values(0)[n] + crime_station.columns.get_level_values(1)[n]
for n in range(0, len(crime_station.columns.get_level_values(0)))
]
tmp
# 데이터 저장
crime_station.to_csv("../data/02. crime_in_Seoul_raw.csv", sep=',', encoding="utf-8")
자료출처 : 제로베이스 데이터 취업스쿨