데이터 분석/Pandas

[Pandas 핵심] 2. 탐색적 데이터 분석 (EDA) 시 활용 함수들

준브릿지 2023. 10. 17. 21:24

- 데이터분석 과정에서 흔히 사전 진행되는 탐색적 데이터 분석(EDA, Exploratory Data Analysis) 시 자주 활용되는 Pandas의 주요 API들에 대해 알아본다.

- 실습환경 : colab

 


 

 

실습용 데이터프레임 생성하기

 

import pandas as pd
data = {
    "메뉴":['아메리카노','카페라떼','카페모카', '바닐라라떼', '녹차', '초코라떼', '바닐라콜드브루'],
    "가격":[4100, 4600, 4600, 5100, 4100, 5000, 5100],
    "할인율":[0.5, 0.1, 0.2, 0.3, 0, 0, 0],
    "칼로리":[10, 180, 420, 320, 20, 500, 400],
}
df = pd.DataFrame(data)
df

 

 

데이터프레임의 크기/형태/기초통계 확인

 

> 데이터프레임의 행/열의 크기 확인

 

# 데이터 프레임 크기 (행, 컬럼)
df.shape

 

※ 위와같이 괄호가 없는 게 속성이고, 괄호가 있는 것이 함수

 

 

> 데이터프레임의 컬럼별 type

 

# 컬럼 형태(type)
df.info()

 

 

> 데이터프레임의 컬럼별 기초통계 확인

 

1) 데이터프레임의 수치형 컬럼별 type

 

# 기초 통계
df.describe()

 

 

- 범주형 데이터 컬럼인 '메뉴' 컬럼은 제외

 

2) 데이터프레임의 범주형 컬럼별 type

# 기초 통계 (object)
df.describe(include='O')

 

- 범주형 데이터타입의 '메뉴' 컬럼을 보기 위해서는 include == 'O'를 써줘야한다.

- 위의 예시에서 'top'은 가장 빈도수가 높은 원소를 나타내주는 것이며, 전부 다 같은 수라면 의미가 없음

 

 

데이터프레임 데이터들 간 상관관계 구하기

 

# 상관관계
df.corr()

 

 

데이터프레임의 컬럼별 항목 종류의 수/항목 종류 조회

 

1) 데이터프레임의 컬럼별 항목 종류의 수 조회하기

 

# 중복 값이 있는 데이터 생성
car = {
    "car":['Sedan','SUV','Sedan','SUV','SUV','SUV','Sedan','Sedan','Sedan','Sedan','Sedan'],
    "size":['S','M','S','S','M','M','L','S','S', 'M','S']
}
car = pd.DataFrame(car)
car.head(3)

 

 

# 항목 종류 수
car.nunique()

 

 

2) 데이터프레임의 컬럼별 항목 종류 조회

 

# 항목 종류
car['car'].unique()

 

 

- unique() 는 Series 함수이기 때문에 위와 같이 시리즈로 만들어줘야 한다.

 

 

데이터프레임의 컬럼별 항목별 개수 

 

1) Series를 활용하여 항목별 개수 파악하기

 

# 항목별 개수 (size)
car['size'].value_counts()

 

 

2) DataFrame을 활용하여 항목별 개수 파악하기

 

# 항목별 개수 (car, size)
car[['car', 'size']].value_counts()

 

 

- 두개 컬럼의 모든 조합별로 항목별 개수가 출력된다.

 


# Reference

https://pandas.pydata.org/docs/user_guide/