//구글광고

(참고문헌 : 백견불여일타 머신러닝 데이터 전처리 입문 - 로드북)

 

데이터 읽어오기

 

  1) CSV 열기   

import pandas as pd

df1 = pd.read_csv('bank.csv', sep=',')
df1.head()

head로 조회 하면 엑셀처럼 깔끔하게 나옴.

 

 

일반적인 파일오픈과 비교해 보면 차이가 좀 있다.

import csv

f=open('bank.csv','r',encoding='cp949')

rdr = csv.reader(f)

for col in rdr :
    print(col)

f.close()     

 

- 데이터의 행수와 열수 확인

print(df1.shape)

 

- 데이터 타입 확인

print(df1.dtypes)

shape (데이터의 행과 열의 수 ), 데이터타입 확인한 결과

- 데이터 결손치 확인

 

 데이터에 null 값이 있는지를 조회하는방법

 

   isnull 을 이용하여  결손치가 있는지 여부(유무) 확인하기 - 결손치가 있으면 True 를 반환 아니면 False를 반환

   axis가 1 이면 행방향으로 결손치유무를 검색함

   axis가 0 이면 열방향으로 결손치유무를 검색함

print(df1.isnull().any(axis=1))

axis =1 로 행방향으로 결손치 유무 검색 결과

print(df1.isnull().any(axis=0))

axis =0 으로 열방향 결손치 유무 검색결과

 

- 결손치의 개수 파악 

  위의 방법으로 하면 데이터가 클수록 찾기가 힘들다 그래서 결손값의 개수를 파악해보기 위해 sum을 사용해서 카운트

print(df1.isnull().sum(axis=1))

행방향(axis=1)의 결손치 합을 계산한다

행방향 결손치 합의 결과

결손치합이 많은 순서대로 정렬하기

print(df1.isnull().sum(axis=1).sort_values(ascending=False))

ascending=False 로 내림차순 정렬

내림차순 정렬된 결과

print(df1.isnull().sum(axis=0))

열방향(axis=0)의 결손치 합을 계산한다.

 

열방향 결손치 합의 결과

 

- 통계량 계산

 

데이터 프래임의 describe() 를 사용하여 통계량을 계산할 수 있다. 기본적으로 수치(int64) 항목에 대한 통계량이 계산되어 나온다

 

count : 건수(데이터건수의 총합)

mean : 평균값 , std : 표준편차

min : 최솟값 , 25% : 제 1사분위값, 50% : 제2사분위값(중앙치), 75%: 제3사분위값, max:  최댓값

 

df1.describe()

 

데이터프레임의 통계치가 나옴(수치항목컬럼만 계산되어 나옴)

df1.describe(include=[object])

오브젝트 타입에 대한 통계치를 보려면 include=[object] 옵션을 넣어주면 볼 수 있다.

 

오브젝트 컬럼의 통계정보

 

 

 

 

 

+ Recent posts