Data analysis/데이터전처리

[데이터 전처리] 2. 데이터프레임 탐색

endingo 2025. 4. 1. 22:19

데이터 탐색은 데이터 크기와 내용, 분포, 누락된 값을 확인하는 과정이다.

데이터가 무언가 부족할 경우 전처리를 해야되는데 이것을 하기위해 

데이터를 살펴보는 과정이다!

 

2.1 앞, 뒤 일부 데이터, 크기 확인

 

1) 상위 데이터 확인

head(n)

# 상위 10개 행 데이터
tip.head(10)

 

2) 하위 데이터 확인

tail(n)

# 하위 3개 행 데이터
tip.tail(3)

 

3) 크기 확인

shape(): 데이터 양을 확인하는 목적으로 많이 사용!

# 행 수와 열 수 확인
tip.shape

 

 

2.2 열, 행 정보 보기

 

1) 인덱스 확인

?.index

# 인덱스 확인
tip.index

 

2) 값 확인: values 확인

# 값 확인
tip.values

 

3) 열확인

# 열 확인
tip.columns

 

4) 자료형 확인

?.dtypes

 

int64:정수

float64: 실수

object: 문자열

 

# 열 자료형 확인
tip.dtypes

 

데이터 세트 전체의 정보를 보고 싶다면

?.info()

# 열 자료형, 값 개수 확인
tip.info()

 

5) 기술 통계 확인

기술 통계란 데이터의 정리, 요약, 해석, 표현 등 데이터 특성을 표현하는 정보이고

주로 개수, 평균, 표준편차, 최솟값, 사분위값, 최댓값 등을 확인 가능하다.

?.describe()

# 기술 통계
tip.describe()

 

특정 열만 기술 통계 확인하기

# 기술 통계
tip[['total_bill', 'tip']].describe()

 

2.3. 정렬해서 보기

 

정렬 방법 2가지:

- 인덱스를 기준으로 정렬

- 특정 열을 기준으로 정렬

 

메서드:

sort_values()

 

옵션:

ascending=True 오름차순

ascending=False 내림차순

 

1) 특정 열을 기준으로 정렬하기!

total_bill 기준으로 내림차순

# 단일 열 정렬
tip.sort_values(by='total_bill', ascending=False)

 

total_bill 먼저 내림차순 정렬하고 tip으로 내림차순 정렬하기

# 복합 열 정렬
tip.sort_values(by=['total_bill', 'tip'], ascending=[False, False])

 

정렬하고 바로 상위 10개만 보기

temp.sort_values(by='min_temp', ascending=True).head(10)

 

2.4 기본 집계

 

데이터 이해를 위해 고유값, 합, 평균, 최댓값, 최솟값 등을 확인!

 

1) 고윳값 확인

 

unique(): day에 values인데 중복 제거하고 출력한다

예를들어 ['Sun', 'Sat', 'Thur', 'Fri', 'Sun'] 이면 => ['Sun', 'Sat', 'Thur', 'Fri'] 만 출력!

# day 열 고윳값 확인
tip['day'].unique()

 

 

2) 고윳값과 개수 확인

명심! 고유값으로 불러오기에 중복제거되는 것은 기 

value_counts(): 시리즈 형태로 해당 컬럼의 인덱스의 값의 values가 몇개 씩 있는지 조회하는 메서드

# day 열 고윳값 개수 확인
tip['day'].value_counts()

 

# smoker 열 고윳값 개수 확인
tip['smoker'].value_counts(normalize=False)

 

 

3) 최빈값 확인

mode(): 최고로 빈도수가 높은 값! => 가장 자주 나오는 값 => 가장 많이 관측되는 수

예를 들면

'Sat': 87

'Fri': 62

'Sun': 31 이면 

 

Sat 시리즈 값으로 출력

 

# day 열 최빈값 확인
tip['day'].mode()

 

Yes < No : No 출력

# smoker 열 최빈값 확인
tip['smoker'].mode()

 

 

4) 기본 통계 메서드 사용

 

df.sum은 df.sum(axis=0) 세로로 모두 더한다, 열 기준으로 합한다.

 

# 전체 열 기준 합
df.sum()

 

df.sum(axis=1)은 가로로 모두 더한다, 행 기준으로 합한다.

# 전체 행 기준 합
df.sum(axis=1)

 

tip 데이터 프레임을 이용하여 열을 모두 더해보기

# 전체 열 기준 합
tip.sum()

 

total_bill 인덱스의 합계를 조회

# total_bill 열 합계 조회
tip['total_bill'].sum()

 

tip 컬럼의 최댓값을 조

# tip 열 최댓값 조회
tip['tip'].max()

 

total_bill, tip 컬럼의 각각의 평균을 표시

# total_bill, tip 열 평균값 확인
tip[['total_bill', 'tip']].mean()

 

total_bill, tip 컬럼의 각각의 중앙값을 표시

# total_bill, tip 열 중앙값 확인
tip[['total_bill', 'tip']].median()