본문 바로가기
AI 이론과 개발의 혼재/Python

데이터 분석시 알아두면 좋은 기본 꿀 Tips (데이터 전처리)

by ministar 2020. 6. 11.

데이터 전처리 편

 

- GitHub에서 원하는 데이터 다운로드 받기

 

  1. 원하는 파일을 열어본다
  2. 하단 "raw" 버튼 클릭한다
  3. "raw"버튼 클릭한 페이지의 주소를 복사한다.
  4. 노트북페이지에 아래 명령어를 입력한다.
더보기

!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)

 

 

또 생각날 때마다 업로드 해두도록 하겠습니다요 :>

댓글