>⛹️♀️ 제로베이스 데이터취업스쿨 15기 스터디노트 20(5.31.)
🗂️ 오늘(5.31.) 수강한 분량
EDA 범죄 1~4
🗂️ EDA 범죄 1~4 핵심 내용 정리
- 데이터 개요
thousasnds=","
: 숫자 콤마 제고, 숫자형으로 읽음
- 데이터(칼럼)이 많을 때는 정렬한 후 그리는 것이 효과적
.isnull()
: nan값 존재 확인 (반대 :.notnull()
)- Pandas pivot_table
aggfunc=
: 합산 등의 다른 함수 적용시 사용- 서울시 범죄 현황 데이터 정리
crime_station.columns = crime_station.columnus.droplevel([0,1]) #특정칼럼에서 특정 칼럼 제거
- Python(conda) 모듈 설치
- pip(conda) list : 현재 설치된 모듈 리스트 반환
- pip(conda) install module_name : 모듈 설치
- pip(conda) uninstall module_name : 설치된 모듈 제거
- conda install -c channel_name module_name : 지정된 배포 채널에서 모듈 설치 (※ 모든 모듈이 conda로 설치되는 것이 아님에 유의)
- Python의 반복문
iterrows()
: pandas 데이터 프레임으로 반복문을 만듬(단, 반복문을 받을 때 인덱스와 내용으로 나누어 받음!)for idx,rows in cirme_station.iterrows(): #crime_station에서 idx와 rows를 받아서 반복문 수행
- Google Maps를 이용한 데이터 정리
- dict형에서 데이터를 얻는 get 명령 사용
tmp[0].get("formatted_address").split()[2] #전체 주소에서 필요한 값만 가지고 오기
#두 줄의 칼럼을 하나씩 합치기 ```python 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_anal_station = pd.read_csv("../파일저장위치/.csv",index_col=0, encoding="utf-8") #index칼럼은 구분을 인덱스 칼럼으로 하기 위한 설정
- 다수의 칼럼을 다수의 칼럼으로 나누기
num = ["강간검거","강도검거","살인검거","절도검거","폭력검거"] den = ["강간발생","강도발생","살인발생","절도발생","폭력발생"] crime_anal_gu[num].div(crime_anal_gu[den].values).head()
- 필요없는 칼럼 제거방법 :
del crime_anal_gu["강간검거"]
,`crime_anal_gu.drop(["살인검거","절도검거","폭력검거"],axis = 1, inplace=True)'- 숫자 찾아서 바꾸기 :
crime_anal_gu [crime_anal_gu[target] > 100] = 100
- 칼럼 이름 변경 :
.rename()
- 범죄 데이터 정렬을 위한 정리
- 정규화 : 최고값 1, 최소값 0으로 만들기
col = ["살인","강도","강간","절도","폭력"] crime_anal_norm = crime_anal_gu[col] / crime_anal_gu[col].max()
- 정규화 된 범죄 발생 건수 : 전체의 평균을 구해서 범죄 칼럼 대표값으로 사용
col = ["강간","강도","살인","절도","폭력"] crime_anal_norm ["범죄"] = np.mean(crime_anal_norm[col],axis = 1)
-Seaborn
- 스타일 : white, dark, whitegrid, despine 등
- boxplot : ex
_sns.boxplot(x = "day", y="total_bill", data =tips, hue="smoker", palette="Set3"
- swarmplpt : ex_
sns.swarmplot(x = "day", y="total_bill", data =tips, color="0.2")
- boxplot + swarmplot: 같은 행에 해당 내용 기재시 두개의 그래프를 합친 내용이 나옴
- lmplot : 관계 파악에 용이 ex_
sns.lmplot(x="total_bill", y="tip", data=tips, height=7, hue="smoker")
- hue 옵션 사용시 다른 색으로 변수 표현 가능
- heatmap : 전체 경향 파악 가능 ex_
sns.heatmap(data=flights, annot=False, fmt="d")
- pairplot : 다수의 칼럼 비교 ex_
sns.pairplot(iris, hue="species")
- 원하는 칼럼만 파악이면
sns.pairplot(iris,x_vars=["sepal_width","sepal_length"],y_vars=["petal_width","petal_length"])
- 서울시 범죄현황 데이터 시각화
- 상관관계 확인을 위해 pairplot 사용
- 지도시각화 Folium
- 일반적으로는 위도, 경도를 넣어주면 지도에서 해당 위치 표기
-tiles = ""
: 지도 스타일 나타내기
-.add_to(m)
: 마커 추가
👩🚀 스터디 감정 노트
시각화하는데 시간이 파이썬때보다 배는 걸리는거 같다. 일단 자꾸 문법적으로 안익어서 그런지 손에서 탈탈 털리는 느낌. 오늘 9:30에 시작해서 지금 끝난게 진짜 너무....
세상의 모든 데이터 다루시는 분들 존경합니다,,,하투....
[이미지 출처 : 미리캔버스]