Analysis Seoul Crime
- 프로젝트 개요
- 데이터 개요
import numpy as np
import pandas as pd
crime_raw_data = pd.read_csv("../data/02. crime_in_Seoul.csv", thousands=",", encoding="euc-kr")
crime_raw_data.info()
crime_raw_data["죄종"].unique()
crime_raw_data[crime_raw_data["죄종"].isnull()].isnull().head()
crime_raw_data = crime_raw_data[crime_raw_data["죄종"].notnull()]
crime_raw_data.head()
crime_raw_data.tail()
crime_raw_data.info()
pnadas pivot table
- index, columns, values, aggrunc 필요한 재료
- Name컬럼을 인덱스로 설정하기
1) pd.pivot_table(df, index="Name")
2) df.pivot_table(index="Name")
- 멀티 인덱스 설정
df.pivot_table(index=["Name", "Rep", "Manager"])
values 설정
df.pivot_table(index=["Manager","Rep"], values="Price")
- Price 컬럼에 sum 연산 적용
df.pivot_table(index=["Manager", "Rep"], values="Price", aggfunc=[np.sum, len]
)
columns 설정
- Procduct를 컬름으로 지정
df.pivot_table(index=["Manager","Rep"], values="Price", columns="Product", aggfunc=np.sum)
- Nan 값 설정 : fill_value
df.pivot_table(index=["Manager","Rep"], values="Price", columns="Product", aggfunc=np.sum, fill_value=0)
- 2개 이상 index, values 설정
df.pivot_table(index=["Manager","Rep","Product"],
values=["Price","Quantity"],
aggfunc=np.sum,
fill_value=0,
margins=True) #총계 추가
서울시 범죄 현황 데이터 정리
python 모듈 설치
- pip명령
python의 공식 모듈 관리자
pip list
pip install module_name
pip uninstall mondule_name
mac(M1)
- conda 명령
conda list
conda install module_name
conda uninstall module_name
conda install -c channel_name module_name
지정된 배포 채널에서 모듈 설치
windows, mac(intel)
google Maps API 설치
python 반복문
for n in [1,2,3,4]:
print("Number is", n)
for n in range(0,10):
print(n**2)
- 위 코드를 한 줄로 : list comprehension
[n ** 2 for n in range(0,10)]
- pnadas에 잘 맞춰진 반복문용 명령 iterrows()
- pandas 데이터 프레임은 대부분 2차원
- 이럴 떄 for문을 사용하면, n번째라는 지정을 반복해서 가독률이 떨어짐
- pandas 데이터 프레임으로 반복문을 만들떄 itterows()옵션을 사용하면 편함
- 받을 때, 인덱스의 내용으로 나누어 받는 것만 주의
Google Maps를 이용한 데이터 정리
Seaborn
- sns.set_styyle()
"white", "whitegrid", "dark", "darkgrid"
- seaborn tips data
- boxplot
hue : 카테고리 데이터 표현
plette option
- swarmplot
color : 0~1사이 검은색부터 흰색 사이 값을 조절
- lmplot : total_bill과 tip 사이 관계 파악
- flights data
- heatmap
annot=True : 데이터 값 표시
fmt="d" : 정수형 표현 / "f" 실수
- colormap
- iris data
- pairplot
- anscombe data
- lmplot
ci : 신뢰구간 선택
scatter_kws=("s":100) : 점크기
order
outlier -> robust : 동 떨어진 값 조정?
지도시각화 - Folium
- 위도와 경도를 알려주면됌
- save() : 파일에 저장할 떄 활용
- tiles option : 지도 스타일 옵션
"OpenStreetMap", "Mapbox Bright", "Mapbox Control Room", "Stream", "Cloudmade", "Mapbox", "CaroDB"