본문 바로가기
데이터 분석/데이터 전처리

[Pandas] 23. 데이터 유일(유니크, unique)값과 개수 구하기

by 부자 꽁냥이 2022. 4. 7.

안녕하세요~ 꽁냥이입니다.

 

이번 포스팅에서는 Pandas에서 칼럼이 갖고 있는 유일(유니크, unique)한 값과 그 개수를 얻는 방법에 대해서 소개하려고 합니다.

 

1. 데이터 만들기

2. 하나의 칼럼 속 데이터 유일(유니크, unique)값과 개수

3. 데이터프레임에서 칼럼 별 데이터 유일(유니크, unique) 값의 개수


   1. 데이터 만들기

먼저 이번 포스팅에서 사용할 데이터를 만들어 줄 거예요.

 

import pandas as pd
import numpy as np

df = pd.DataFrame()
df['A'] = [1, 2, 3, np.nan, 7, 7]
df['B'] = ['b', 'b', 'b', 'c', np.nan, 'd']

 


   2. 하나의 칼럼 속 데이터 유일(유니크, unique) 값과 개수

먼저 Pandas에서 한 칼럼에 포함된 유니크한 값을 알아보는 방법을 소개하겠습니다. 방법은 간단합니다. Pandas에서는 unique 함수를 사용하면 유일 값을 알 수 있어요.

1) nan을 포함하는 유일(유니크, unique) 값

# 하나의 칼럼 유니크 값 보기 nan 포함 o
df['A'].unique()

 

실행 결과 nan값도 포함된다.

보시는 바와 같이 nan값도 포함되어 나오는 것을 알 수 있습니다.

2) nan을 포함하지 않는 유일(유니크, unique) 값

이번엔 nan값을 포함하지 않는 unique 한 값을 구하려면 어떻게 해야 할까요? 아래와 같이 2가지 방법이 있습니다.

 

# 하나의 칼럼 유니크 값 보기 nan 포함 x
df['A'].value_counts().index.values
df['A'].dropna().unique()

 

첫 번째 방법은 value_counts가 nan을 제외한 개별 값들의 출현 빈도를 나타내 준다는 것과 개별 값들이 인덱스(index)에 있다는 것을 이용한 것입니다.

두 번째 방법은 특정 칼럼에서 nan값을 제거한 후 unique를 적용한 것입니다.

 

방법 1) nan을 포함하지 않는 유일(유니크, Unique)값

 

방법 2) nan을 포함하지 않는 유일(유니크, Unique)값

출력 순서에만 차이가 있을 뿐 결과는 동일합니다.

반응형

3) 유일(유니크, unique) 값의 개수 구하기

한 칼럼 속에 유니크한 값이 몇 개나 되는지 알려면 nunique를 쓰면 됩니다. 이때 nan을 포함할 건지 아닌지는 dropna 인자로 결정할 수 있습니다. 디폴트는 dropna= True 입니다.

 

df['A'].nunique(dropna=True) # 하나의 칼럼 유니크 값 개수 nan 포함 x defalut drop=True
df['A'].nunique(dropna=False) # 하나의 칼럼 유니크 값 개수 nan 포함 o

 

nan을 포함하지 않는 유일(유니크, unique)값 개수

 

nan을 포함시킨 유일(유니크, unique)값 개수


   3. 데이터프레임에서 칼럼 별  데이터 유일(유니크, unique) 값의 개수

이번엔 Pandas에서 하나의 칼럼이 아니라 데이터 전체에 대하여 각 칼럼별 데이터 유일(유니크, unique)값의 개수를 알아봅시다. 여기서 유니크한 값의 개수이지 값이 아니라는 점 주의하시길 바랍니다. 

 

방법은 데이터프레임(DataFrame)에서 nunique 함수를 쓰면 됩니다. 이때 칼럼 별로 유니크한 값의 개수를 구하기 위해 axis=0을 지정합니다(axis=1 은 행별 유니크한 값의 개수). 

 

# 전체 데이터에서 칼럼별 유니크 값 개수 보기 nan 포함 x
df.nunique(axis=0, dropna=True)

# 전체 데이터에서 칼럼별 유니크 값 개수 보기 nan 포함 o
df.nunique(axis=0, dropna=False)

 

nan을 포함하지 않은 칼럼별 유일(유니크, unique)값 개수

 

nan을 포함시킨 칼럼별 유일(유니크, unique)값 개수

 


이번 포스팅에서는 Pandas에서 칼럼과 데이터프레임에서 데이터 유일(unique, 유니크) 값과 개수를 구하는 방법을 알아보았습니다. 부디 이 포스팅이 도움이 되시길 바라며 다음에도 좋은 내용으로 찾아뵙겠습니다.


댓글


맨 위로