본문 바로가기
데이터분석/Python

[Python] 판다스(pandas)를 활용한 데이터 전처리(1)

by ms-da 2024. 8. 25.

 

안녕하세요! ms-da입니다!

오늘은 이전에 빅데이터분석기사(빅분기) 실기를 공부하면서

 

Python을 이용해 데이터 전처리를 공부했었거든요!

 

모든 분들이 알아두면 좋을 데이터 전처리에 대하여 포스팅하려고 합니다!

 

출처도 같이 첨부해두겠습니다!
(출처 : https://www.datamanim.com/dataset/99_pandas/pandasMain.html)


출처에 있는 "1.2 데이터 전처리 100문제"를 python과 pandas를 활용해 풀면서

전처리 내용을 설명하려고 해요!

바로 시작하겠습니다! 

 

 

 

 

# 1. dataframe에서 수치형/범주형 변수 출력하기(select_dtypes 이용)

수치형 변수는 숫자로 표현되는 변수를 의미해요!


수치형 변수를 통해 정량적인 데이터를 나타내고, 연속적인 값이나 이산적인 값으로 표현됩니다.
ex) 나이, 키, 몸무게, 온도, 시간 

범주형 변수는 명목척도 혹은 서열척도로 분류되는 변수를 의미해요!


범주형 변수는 어떤 분류체계 안에서 서로 다른 카테고리에 속하는 값들을 가집니다. 
ex) 성별, 혈액형, 지역, 직업, 학력

 

저는 주로 "DF.info()"를 통해 데이터 구조를 파악했는데, select_dtypes()도 있더라고요!

 

Pandas의 DataFrame 객체에 대해서 select_dtypes() 메서드를 사용하면, 

 

해당 데이터프레임에서 원하는 데이터 타입을 가진 열(컬럼)만 선택할 수 있습니다!

 

# 데이터 불러오기
DataUrl = 'https://raw.githubusercontent.com/Datamanim/pandas/main/lol.csv'
DF = pd.read_csv(DataUrl, sep = '\t')

# [11] 수치형 변수를 가진 컬럼을 출력하라
DF.select_dtypes(exclude=object).columns

# [12] 범주형 변수를 가진 컬럼을 출력하라
DF.select_dtypes(include=object).columns

 

[11]과 [12]의 출력 결과는 아래와 같이 나와요!

 

 

[ 코드 설명 ]

# 데이터 불러오기
DataUrl = 'https://raw.githubusercontent.com/Datamanim/pandas/main/lol.csv'
DF = pd.read_csv(DataUrl, sep = '\t')

 

DataUrl이라는 변수에 데이터가 저장된 주소(URL)를 넣습니다!

 

pd.read_csv라는 명령어를 사용해, 해당 주소에 있는 데이터를 불러와요!

 

이 데이터는 ' 탭(tab) '으로 구분되어 있어서, sep = '\t'라고 적어줍니다.

 

불러온 데이터는 DF라는 이름의 변수에 저장됩니다.

 

 

위 문제는 csv를 불러오는 경우지만,

 

분석 업무에서는 보통 데이터베이스(DB)에 연결을 해서 데이터를 가져옵니다!

 

그래도 데이터 분석 공부를 하면서 csv로 불러왔던 일이 많았던 기억이네요!

 

 


 

 

# [11] 수치형 변수를 가진 컬럼을 출력하라
DF.select_dtypes(exclude=object).columns

 

 

 

이 코드에서는 수치형 변수(숫자로 되어 있는 데이터)를 가진 열(컬럼)을 찾습니다!


.columns를 붙여서, 선택된 열의 이름들을 출력합니다.

 

 

이 코드를 이용한 건, 가끔 데이터를 불러오는 과정에서 python에서 자동으로 변수의 유형을 결정하다보니

 

문자열 변수인데, 이걸 수치형 변수로 잘못들어간 경우가 있어서 

 

오류가 발생하였을 때, 이렇게 코드를 통해서 확인해본 경험이 있습니다! 

 

 


 

# [12] 범주형 변수를 가진 컬럼을 출력하라
DF.select_dtypes(include=object).columns

 

 

 

이 코드에서는 범주형 변수(텍스트나 문자열로 되어 있는 데이터)를 가진 열(컬럼)을 찾습니다!

[11] 문제와 동일한데, object인 컬럼을 가져올 건지, object 컬럼이 아닌것을 가져올것인지 정하는 것입니다.

 

 


 

 

오늘은 python과 pandas를 이용한 데이터 전처리에 대하여 포스팅하였습니다!

 

python 관련해서 궁금한 부분이 있으면 댓글로 언제든 말씀해주세요!

 

다음 포스팅도 쉽고 좋은 내용으로 작성해볼게요!

 

오늘도 블로그 방문해주셔서 정말 감사합니다!

 

다들 오류 없는 파이썬 코딩 해보아요!