제로베이스 7주차

김정인·2023년 4월 17일
0

데이터스쿨13기

목록 보기
15/17
post-thumbnail

Analysis Seoul Crime

  1. 프로젝트 개요
  2. 데이터 개요
import numpy as np
import pandas as pd

#데이터 읽기
crime_raw_data = pd.read_csv("../data/02. crime_in_Seoul.csv", thousands=",", encoding="euc-kr")
#thousands는 숫자값을 문자로 인식할 수 있어서 설정

crime_raw_data.info()
# info() 데이터 개요 확인하기
# RangeIndex가 65534인데 310개이다.

crime_raw_data["죄종"].unique()
# 특정 칼럼에서 unique를 통해 조사해 볼 수 있다.
# nan값이 들어가 있는 것을 확인

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문 예제
for n in [1,2,3,4]:
    print("Number is", n)
  • 조금 복잡한 for문
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"

0개의 댓글