하파와 데이터

[빅분기] 실기 1유형- 결측치 찾기, 고유값 확인, 값 개수 찾기 본문

자격증/DATA

[빅분기] 실기 1유형- 결측치 찾기, 고유값 확인, 값 개수 찾기

hhpp 2024. 11. 27. 00:06

오늘은 pandas에서 기본인 것들을 본다. 

 

사실 shape, describe, info  등은 너무 기본이기 때문에 그냥 넘어가버린다. 

 

오늘은 내 데이터에 결측치가 컬럼별로 몇개나 있는지 확인하는 법, 한 컬럼에서 고유한 값(value)들이 무엇이 있는지 

그리고 그 고유한 값들이 몇개씩 있는지를 보고자 한다. 

 

0. 데이터 전제, 내가 Jupyter notebook을 연 폴더 내 data라는 폴더가 있고, 그 안에 iris.csv라는 파일이 있다. 

 

1. 결측치 개수 확인

데이터 분석을 할때, 결측치를 확인하고, 결측치를 처리하는 것은 아주 기본이다. 

기본이지만 그 결측치를 처리하는 방법은 정말.. 무수히 많다. 

방법도 많고, 처리하는 이론도 많고 ... 결국은 모델을 돌렸을때, 높은 정확도를 보이는 방법을 찾아내는게 

분석가, 사이언티스트가 해야할 일이 아닐까.

(이러니 전처리가 90% 라는 말이 나오는게 아닐까?)

import pandas as pd

df = pd.read_csv('data/iris.csv')

# 기본 정보 확인하기
df.shape
df.info()
df.describe()

# 결측치 확인하기
df.isnull().sum()

df.isnull().sum()의 결과

아주 정형화된 iris 데이터 답게, 결측치는 0으로 나온다. 

 

2. 고유 값 확인하기 

데이터를 보다보면, 데이터 프레임 내 특정 컬럼에 어떤 값들이 존재하는지 궁금할때가 있다. 

특정 값을 기준으로 데이터를 쪼개야 할 수도 있고, 그걸 기준으로 인코딩을 해야할 수도 있고 등등 

그렇기에 우리는 컬럼에 어떤 값들이 있는지 확인할 필요가 있다. 

그때는 아래와 같이 코드를 치면 바로 나와벌임...!! 판다스 너 정말 대단한데?

import pandas as pd

df = pd.read_csv('data/iris.csv')

# variety에 어떤 값들이 있는지 고유값 확인
df['variety'].unique()  

# 고유한 값들의 개수가 몇개인지 확인
df['variety'].nunique()  # 3개

df['variety'].unique()의 출력결과

3. 값의 개수 찾기(+비율도 알아보자!)

그래 이제 특정 컬럼에 어떤 값들로 채워져있는지 알았다. 

그러면, 그게 각각 몇개씩 있는거야?

예를들어, 식당에 온 사람들의 성별을 봤는데, 남/여로 구분되어있다. 

근데, 각각 남자는 몇명이고 여자는 몇명인거야? 이런게 궁금할 수 있잖아. 그걸 이제 해보자 

import pandas as pd

df = pd.read_csv('data/iris.csv')

# variety 컬럼의 값들이 어떻게 구성되어있을까
df['variety'].value_counts()  # 칼같이도 각각 50개씩!!

# 각각의 비율은 어떻게 될까? 
df['variety'].value_counts()/ len(df['variety'])  # len(df)만해도 됨!

df['variety'].value_counts() 출력결과

 

df['variety'].value_counts() / len(df['variety']) 출력 결과

 

참고로, 특정 컬럼을 지정하지 않은채로 df.value_counts()를 하게 되면, 

모든 컬럼의 데이터가 동일한 것을 같은 값으로 치고 그 갯수를 세어준다. 

나도 어찌되는걸까 궁금해서 아래와 같이 해봤다. 

그래도 같은 값이 하나는 있구나..!

반응형