서울시 CCTV (1)

eun·2023년 10월 11일

pandas

  • 강력한 데이터 핸들링 성능을 제공하는 모듈
import pandas as pd
  • 원하는 모듈이 설치되어 있다면 import 명령을 통해 사용하겠다고 선언한다.
CCTV_Seoul = pd.read_csv("./data/01. Seoul_CCTV.csv", encoding="utf-8")
  • pd.read_csv 를 통해 csv 파일을 읽어온다. 한글 파일일 경우 encoding='utf-8' 로 설정해야 한다.
CCTV_Seoul.rename(columns={CCTV_Seoul.columns[0]:"구별"}, inplace=True)
  • 컬럼 네임을 바꾸고 싶다면 rename을 통해 바꿀 수 있다.
pop_Seoul = pd.read_excel("./data/01. Seoul_Population.xls", header=2, usecols="B, D, G, J, N")
  • 엑셀 파일을 불러올 때 필요없는 행이 있을 경우 header=2로 설정하면 2번째 행부터 출력된다. 또한 usecols 옵션을 사용하여 내가 사용하고자 하는 열만 골라서 출력 가능하다.
pop_Seoul.head()
pop_Seoul.tail()
  • 위 처럼 head()와 tail()을 이용하여 상위 5개, 하위 5개의 셀을 볼 수 있다.

pandas basic

s = pd.Series([1, 3, 5, np.nan, 6, 8])
  • Pandas의 데이터형을 구성하는 기본은 Series이다.
dates = pd.date_range("20130101", periods = 6)
  • data_range()함수를 통해 날짜(시간)을 이용할 수 있다.
df.info()
  • info()를 통해 Dataframe의 기본 정보를 확인할 수 있다.
df.describe()
  • describe()를 통해 Dataframe의 통계적 기본 정보를 확인할 수 있다.
df.sort_values(by="B", ascending=False)
  • sort_values()는 데이터를 정렬한다.
    ascending=False 이면 내림차순, True 이면 올림차순으로 정렬한다.

  • df.loc 로는 행 열의 이름으로 슬라이스,
    df.iloc 로는 숫자로 슬라이스를 할 수 있다.

  • isin() : 특정 요소가 있는 행만 선택

  • del df["E"] : 특정 컬럼 제거

  • df.apply(np.cumsum) : 각 컬럼 누적합 (apply : 함수를 적용)

pd.merge(left, right, on="key")
  • key 컬럼을 기준으로 병합
  • 위 코드는 두 데이터프레임이 공통으로 가지고 있는 Key를 기준으로 병합한다
pd.merge(left, right, how='left', on="key")
  • how 옵션을 'left'로 지정하면 left 데이터프레임의 key는 보존하고 병합한다.
pd.merge(left, right, how='outer', on="key")
  • how 옵션을 'outer'로 지정하면 두 데이터프레임이 다 손상되지 않고 병합한다.
data_result.corr()
  • corr() 함수는 데이터의 상관관계를 나타낸다.
  • 상관계수를 조사해서 0.2 이상의 데이터를 비교하는 것은 의미가 있다.

0개의 댓글