반응형
결측치 생성
import pandas as pd
import numpy as np
df = pd.read_csv('data/data_iris.csv', header='infer',encoding = 'latin1') # csv 파일에서 df정보 불러오기
df.count(axis=0)
==결과==
Sepal.Length 150
Sepal.Width 150
Petal.Length 150
Petal.Width 150
Species 150
dtype: int64
# 결측치 생성
df.iloc[10,0] = np.nan
df.iloc[32,2] = np.nan
df.iloc[17,2] = np.nan
df.iloc[129,2] = np.nan
df.count(axis=0)
==결과==
Sepal.Length 149
Sepal.Width 150
Petal.Length 147
Petal.Width 150
dtype: int64
- np.nan은 결측치를 생성한다.
- 해당 값이 들어간 위치는 결측치가 되어 count에서 제외된다.
skipna
df.mean(skipna=False)
==결과==
Sepal.Length NaN
Sepal.Width 3.057333
Petal.Length NaN
Petal.Width 1.199333
dtype: float64
- 결측치가 있는 상태에서 mean과 같은 통계연산을 수행하면, 보통 해당 값은 제외하고 연산을 수행한다.
- 하지만 skipna 옵션을 False로 두면 해당 값을 포함하고 결과는 NaN으로 처리한다.
isnull
print(df.isnull())
==결과==
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
0 False False False False False
1 False False False False False
2 False False False False False
3 False False False False False
4 False False False False False
.. ... ... ... ... ...
145 False False False False False
146 False False False False False
147 False False False False False
148 False False False False False
149 False False False False False
[150 rows x 5 columns]
- isnull은 해당 데이터 프레임내 요소들의 결측치 여부를 체크하는 함수이다.
- 기본적으로는 위와같이 데이터프레임 형태로 처리된다.
df.isnull().sum(axis=0)
==결과==
Sepal.Length 1
Sepal.Width 0
Petal.Length 3
Petal.Width 0
Species 0
dtype: int64
- 하지만 해당 결과에 sum이나 mean같은 통계값 함수를 적용하면 결측치의 개수, 비율 등을 파악할 수 있어 용이하다.
dropnna
df.dropna(axis=0, thresh = 4, inplace = True)
- dropna는 행(열) 중 에서 결측치가 존재하는 행(열)을 제거한다.
- axis = 0이면 행을 제거하고 axis = 1이면 열을 제거한다.
- thresh = N 옵션을 주면 해당 행(열)에 N개 이상의 값이 존재하면 결측치가 존재해도 행(열)을 제거하지 않는다.
- inplace = True 옵션을 주면 항구적 적용이 가능하다.
fillna
df.fillna(value=0)
- 특정값으로 결측치 부분을 채워준다.
- 보통 0이나 평균값, 최빈값 등이 활용된다.
- 하지만 추후 배울 머신러닝을 활용해 '예측값'을 넣어주는 것이 가장 좋다.
반응형
'🛠 기타 > Data & AI' 카테고리의 다른 글
Pandas 데이터 시각화 (0) | 2020.07.14 |
---|---|
Pandas 데이터프레임 그룹 나누기 (0) | 2020.07.14 |
Pandas 데이터프레임 활용 통계값 계산 (0) | 2020.07.14 |
[파이썬] Pandas 데이터프레임 전치행렬 만들기 (0) | 2020.07.13 |
단층 퍼셉트론- 회귀분석 이론 (0) | 2020.07.13 |