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 데이터 변형
필터링 ,정제 및 다른 변형
'책 > python for Data Analysis' 카테고리의 다른 글
07-2. 데이터 정제 및 준비 08-1. 데이터 준비하기: 조인 병합 변형 (0) | 2021.02.07 |
---|---|
07-1. 데이터 정제 및 준비 (0) | 2021.02.07 |
06-2. 데이터 로딩과 저장 파일 형식 (0) | 2021.02.07 |
05-2. pandas 시작하기 06-1. 데이터 로딩과 저장 파일 형식 (0) | 2021.02.07 |
05-1. pandas 시작하기 (0) | 2021.01.31 |