본문 바로가기
Python

[파이썬] 판다스: 카테고리컬 데이터 (categorical data)

by eyoo 2022. 5. 1.

카테고리컬 데이터는 반복되어 사용되어지는 데이터이다.

개수가 정해져 있고 정해진 데이터들을 이용해서 데이터를 채운다.

 

반복되는 데이터가 들어있는 데이터프레임이 있다.

 

unique 함수를 통해 특정 열 안에서 중복 제거된 유니크한 데이터를 구해보자

 

in:

df['Year'].unique()

out:

array([1990, 1991, 1992], dtype=int64)

# nunique 함수를 사용하면 유니크한 데이터의 개수를 알수있다.

 

 

전체 데이터프레임에 describe 함수를 적용하면 수치 데이터가 포함된 컬럼에 해당되는 전체적인 분석을 볼수있다.

 

in:

df.describe()

out:

 

 

만약 문자 데이터의 열을 describe 하면 조금 다른 형태의 분석이 나온다.

 

in:

df['Name'].describe()

out:

count 9
unique 3
top Alice
freq 3
Name: Name, dtype: object

 

 

groupby함수로 카테고리컬 데이터를 각 컬럼별로 원하는대로 묶어서 처리할수있다.

 

연도별로 연봉의 총합을 구하고자 한다면

 

in:

df.groupby('Year')['Salary'].sum()

out:

Year
1990 153000
1991 162000
1992 174000
Name: Salary, dtype: int64

# groupby함수안의 컬럼은 괄호 '( )'로 묶이는것에 유의하자.

 

 

연도별과 부서별로 연봉은 총합을 알고싶다면

 

in:

df.groupby(['Year','Department'])['Salary'].sum()

out:

Year Department
1990 Admin 55000
 HR 50000
 RD 48000
1991 Admin 60000
 HR 52000
 RD 50000
1992 Admin 62000
 HR 60000
 RD 52000
Name: Salary, dtype: int64

# 컬럼을 대괄호로 묶어주면 된다.

 

 

연도별로 연봉의 총합과 평균을 구하고자 한다면

 

in:

df.groupby('Year')['Salary'].agg([np.sum, np.mean])

out:

 

# 컬럼별로 다양한 유형의 분석을 두가지 이상으로 설정하고 싶다면

# 넘파이 함수인 agg함수를 이용하며 함수들은 대괄호로 묶어주면된다.

 

 

value_counts 함수를 이용해 컬럼의 카테고리컬 데이터중에서 고유한 값은 몇개씩 있는지 볼수있다.

 

in:

df['Name'].value_counts()

out:

Alice 3
Bob 3
Charlie 3
Name: Name, dtype: int64

# Name 열 안에 엘리스, 밥, 찰리가 각각 3개씩 들어있다는것을 알수있다.

 

 

 

댓글