반응형

6.3 웹 API 와 함께 사용하기

requests 패키지

import requests 

resp = requests.get(url)

data = resp.json()

 

6.4 데이터베이스와 함께 사용하기

import sqlite3

con = sqlite3.connect()

con.execute(query)

con.commit()

 

con.executemany(stmt, data)

con.commit()

 

드라이브 

 

조회 

cursor = con.execute(sql쿼리)

rows = cursor.fetchall()

cursor.description 

 

SQL툴킷은 SQLAlchemy프로젝트는  SQL 데이터베이스 간의 일반적인 차이점을 추상화하여 제공한다.

import sqlalchemy as sqla

db = sqla.create_engine("sqlite:///mydata.sqlite")

pd.read_sql(쿼리,db)

 

07. 데이터 정제 및 준비

데이터 분석과 모델링 작업:

데이터를 불러오고 , 정제하고, 변형하고 , 재정렬하는 데이터 준비 과정에 많은 시간을 들이게 된다.

80% 를 잡아먹기도 한다.

 

7.1 누락된 데이터 처리하기

누락된 데이터를 처리하는 일은 데이터 분석 애플리케이션에서 흔히 발생하는 일이다.

pandas의 설계 목표중 하나는 누락 데이터를 가능 한 쉽게 처리할 수 있도록 하는 것이다.

누락 데이터 

산술 데이터에 한해 pandas는 누락된 데이터를 실숫값은 NaN으로 취급한다.

이는 누락된 값을 쉽게 찾을 수 있도록 하는 파수병 역할을 한다.

 

격측치 를 NA Not Available 

isnull()

 

파이썬의 내장 None값 또한 NA 값으로 취급한다.

pandas.isnull 같은 사용자 API 함수에서는 성가신 부분을 추상화로 제거했다.

 

NA 처리 메서드

dropna 누락된 데이터가 있는 축(로우, 컬럼)을 제외시킨다. 어느 정도의 누락 데이터까지 용인할 것인지 지정할 수 있다.
fillna 누락된 데이터를 대신할 값을 채우거나 'ffill'이나 'bfill'같은 보간 메서드를 적용한다.
isnull 누락되거나 NA인 값을 알려주는 불리언값이 저장된 같은 형의 객체를 반환한다.
notnull isnull과 반대되는 메서드

 

7.1.1 누락된 데이터 골라내기

from numpy import nan as NA

dropna 

pandas.isnull 불리언 색인을 사용해 직접 손으로 제거하는 것도 한가지 방법이지만 ,

dropna를 매우 유용하게 사용할 수 있다.

data[data.notnull()]

how = 'all' 옵션을 넘기면 모두 NA값은 로우만 제외시킨다.

data.dropna(how='all')

 

컬럼을 제외시키는 방법도 동일하게 동작한다. 옵션은 axis = 1을 넘겨주면 된다.

 

DataFrame의 로우를 제외시키는 방법은 시계열 데이터에 주로 사용되는 경향이 있다. 몇 개 이상의 값이 들어 있는 로우만 살펴보고 싶다면 thresh인자에 원하는 값을 넘기면 된다.

data.dropna(thresh=2)

 

7.1.2 결측치 채우기

fillna메서드에 채워 넣고 싶은 값을 넘겨주면 된다.

fillna 에 사전값을 넘겨서 각 컬럼마다 다른 값을 채울 수도 있다.

fillna에 새로운 객체를 반환하지만 다음처럼 기존 객체를 변경 할 수 도 있다. inplace = True

재색인에서 사용가능한 보간 메서드는 fillna메서드에서도 사용가능하다.

df.fillna(method = 'ffill')

df.fillna(method = 'ffill', limit2) => 2개만 

Series 의 평균값이나 중간값을 전달 할 수도 있다.

data.filna(data.mean())

 

7.2 데이터 변형

필터링 ,정제 및 다른 변형 

 

반응형

+ Recent posts