[제로베이스 데이터취업스쿨 15기] Part. 4 EDA 스터디노트 -20(5.31.)

DaHye CHOI·2023년 6월 1일
0

>⛹️‍♀️ 제로베이스 데이터취업스쿨 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에 시작해서 지금 끝난게 진짜 너무....
세상의 모든 데이터 다루시는 분들 존경합니다,,,하투....

[이미지 출처 : 미리캔버스]

profile
데이터가 궁금한 비전공자의 데이터스터디🫠

0개의 댓글