colab python 데이터가공 결측값

5617 단어 pythoncolabcolab

개념

데이터 가공 (Data manipulation)

데이터 분석의 80% 이상 데이터 전처리(pre-processing)에 쓰인다.

  • 결측값(missing values) 처리
  • 중복값(duplicated values) 처리
  • 오류값(error values) 처리
  • 기존 값을 가공해 새로운 값을 만들기
  • 등등...

데이터 가공하기(Data manipulation)

결측값(missing values) 처리

많은 경우에 데이터에는 결측값(missing values)이 생길 수 있다. 특정 조건에서 실험이 수행되지 않았거나, 기록이 누락된 경우들은 흔하게 일어난다.
결측값을 어떻게 처리해야 하는지는 데이터와 상황에 따라서 다르다. 일반적으로 결측치는 제거하거나, 다른 값으로 채워넣을 수 있다. 판다스에서는 결측치를 확인하는 방법도 제공한다.

결측치(값) 단순 제거 방법 dropna()

from numpy import nan as NA
# 결측값이 있는 시리즈 생성
data = pd.Series([1, NA, 3.5, NA, 7])
data

data.**dropna()** # data[data.notnull()] 동일한 방법

데이터프레임에서도 같은 방식으로 결측값을 제거할 수 있다.

data = pd.DataFrame([[1., 6.5, 3.], [1., NA, NA],
      [NA, NA, NA], [NA, 6.5, 3.]])
data

data.dropna()

많은 행들이 살아졌다..! dropna는 기본적으로 하나라도 결측값이 있으면 행을 삭제한다. 모든 값이 결측값일 때만 삭제하기 위해서는 how='all' 파라미터를 사용한다.

data.dropna(how='all')

결측값에 다른 값을 채워넣는 것은 fillna라는 함수를 사용한다.

data.fillna(0) # 결측값은 0으로 바뀐다

컬럼마다 다른 값으로 결측값을 채워넣고 싶다면 fillna에 딕셔너리를 넣을 수 있다.

data.fillna({1: 0.5, 2:0})

흔히 쓰이는 방법 중 하나는 각 컬럼의 평균값으로 결측값을 채워넣는 것이다.

# data.mean() 컬럼마다 평균값을 보여준다 
data.fillna(data.mean())

좋은 웹페이지 즐겨찾기