Python
[파이썬] 판다스: 카테고리컬 데이터 (categorical data)
eyoo
2022. 5. 1. 22:27
카테고리컬 데이터는 반복되어 사용되어지는 데이터이다.
개수가 정해져 있고 정해진 데이터들을 이용해서 데이터를 채운다.
반복되는 데이터가 들어있는 데이터프레임이 있다.
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개씩 들어있다는것을 알수있다.