데이터 전처리 편
- GitHub에서 원하는 데이터 다운로드 받기
- 원하는 파일을 열어본다
- 하단 "raw" 버튼 클릭한다
- "raw"버튼 클릭한 페이지의 주소를 복사한다.
- 노트북페이지에 아래 명령어를 입력한다.
!wget -O tips.csv https://raw.githubusercontent.com/~~~/[데이터파일명]
[설명]
!wget 다운로드 명령어
-O tips.csv 저장할 파일명
https.... 가져올 파일의 웹주소
- 데이터 읽어들이기
import pandas as pd
df = read_csv('[파일주소.csv]')
df_x = read_excel('[파일주소.xlsx]')
- 데이터 미리 보기
df.head()
df.head(5) #처음 다섯줄만
- 데이터 결측치(이상치) 처리
실제 데이터를 Load 해서 쓰다보면, 데이터 값이 유실되어있어서 NaN 값이 포함된 데이터가 상당히 많다.
이럴 때 바로 연산을 하게 되면, 오류가 날 수 있기 때문에 꼬옥 ㅎ_ㅎ 전처리가 필요하다.
(예) 누락데이터가 포함된 데이터
이런 결측치를 처리하는 방법은 아주 많은데, 간단한 것 부터 나열
#1. 누락 데이터 전체 삭제
df = df.dropna()
#2. feature 중 NaN 값이 n개 이상인 경우, 삭제
# 예: 3개 이상의 NaN 값이 있을 경우 삭제
df = df.dropna(thresh = 3)
#3. 데이터 삭제 없이, NaN 값을 0으로 채우고 싶을 경우
df = df.fillna("0")
#4. 데이터 삭제 없이, NaN 값을 평균으로 채우고 싶을 경우
df = df.fillna(df.mean())
#5. 데이터 삭제 없이, NaN 값을 특정값으로 채우고 싶을 경우
df = df.fillna(value = 5)
- 데이터의 기본적인 통계적 요약 데이터 보기
맨 처음 데이터를 만났을 때, 어떤식으로 생겼는지를 대략적으로 보기에 좋은 기능이다.
각 컬럼에 대한 요약통게를 안내해줍니다.
--> count, mean, std, min, 25%, 50%, 75%, max
df.describe()
(예) 결과
- 데이터 소문자/대문자 처리
실데이터에서 예를 들어, 영문명을 적은 값이 있다고 했을 때
같은 Lia 라는 이름인데도 LIA, Lia, lia 이렇게 쓸 수가 있다.
그래서 모든 데이터를 대문자or 소문자 처리를 해주는게 필요하다.
#name 이라는 컬럼의 데이터를 대문자로 변경
df['name'] = df['name'].str.upper()
#name 이라는 컬럼의 데이터를 소문자로 변경
df['name'] = df['name'].str.lower()
- 데이터 타입 확인
가끔 숫자로 생겨서 연산을 하려고 하면 에러가 나는 경우가 있다.
그건 실제 숫자 데이터지만 데이터 형이 str이나 object로 되어있기 때문일 확률이 높다.
각 컬럼마다 데이터 타입을 확인해보는 방법은 아래와 같다.
df.info()
- 데이터 형 변경
원하는 데이터 형으로 바꿔주고 싶을 때 (str -> int)
df['나이'] = df['나이'].astype(int)
또 생각날 때마다 업로드 해두도록 하겠습니다요 :>
'AI 이론과 개발의 혼재 > Python' 카테고리의 다른 글
Python 에러잡기 : [SSL: CERTIFICATE_VERIFY_FAILED] (3) | 2020.06.02 |
---|---|
Python - MySQL (PyMySQL 설치, 기본 사용법 CRUD) (0) | 2020.04.23 |
Python - DB2 연동 (라이브러리 설치, CRUD 테스트) (0) | 2020.04.23 |
Anaconda, TensorFlow 설치 (0) | 2020.01.29 |
Django. 기존DB 재사용! Django로 Migration하기 (1) | 2018.08.08 |
댓글