PL/Python

pandas value_counts() 사용법

PIYA 2022. 12. 9.

Introduction

판다스에서 사용하는 value_counts() 메소드에 대해서 연습, 정리!

넘파이가 아니라 판다스에서 쓰는 메소드라는 것을 첫번째로 기억!

유용하므로 value_counts를 쓰기 위해 numpy -> pandas 변환을 하는경우가 왕왕 생긴다.

간단하므로 본론만 짧게짧게!

 

 

value_counts()

정의

우선 value_counts()는 고유값의 개수를 카운팅해주는 메소드로서,

판다스의 시리즈와 데이터프레임에서 모두 사용 가능하다.

 

리턴값

가장 많은 빈도수부터, 즉 내림차순으로 정렬되어있으며 리턴값은 '시리즈'다.

NA값은 기본적으로 제외한다.

 

설정 인자

오름차순으로 정렬하려면 ascending=True 설정

NA값을 집계에 포함시키려면 dropna=True

정렬하지 않으려면 sort=False

노말라이즈 하려면 normalize=True

 

 

groupby의 사용

먼저 groupby를 적용해 groupby 객체를 만든 후, value_counts()를 적용한다.

칼럼에 따른 빈도수를 계산할 수 있다.

import pandas as pd

data = {'univ':['Korea','Korea','Korea','Korea','Korea',
                'Yonsei','Yonsei','Yonsei','Yonsei','Yonsei'],
        'grade':['B','A','C','F','A','C','B','F','C','C']}
df = pd.DataFrame(data)
df.groupby('univ').value_counts()

 

시리즈 반환

위에서 언급했듯, 시리즈를 반환한다고 하였다.

 

그런데 위의 groupby 후 value_counts()를 적용한 그림을 보면, 시리즈 같아 보이지 않는다.

이는 멀티인덱스인데, 나중에 기회되면 정리해보자.

 

 

 

Conclusion

정말 간단하게 value_counts()에 대해 정리했다.

판다스 데이터프레임과 시리즈에서 사용 가능하다는 것,

시리즈를 리턴한다는 것 정도만 기억해두자.

 

댓글