Python 코드

[Python] DataFrame.value_counts()

PaperDrop 2025. 12. 16. 12:05

1. value_counts()란 무엇인가?

value_counts()는 데이터 안에 있는 각 값이 몇 번씩 등장했는지를 세어주는 함수다.

결과는 “값 → 등장 횟수” 형태로 정리되며, 이를 통해 데이터의 분포(distribution) 를 한눈에 파악할 수 있다.

이 함수는 주로:

  • 범주형 데이터
  • 라벨 데이터
  • 설문 응답
  • 카테고리 컬럼

같은 경우에 가장 많이 사용된다.

 

 

 

2. value_counts()의 가장 중요한 특징

① 자동으로 빈도를 계산한다

각 값이 등장한 횟수를 자동으로 세어준다.

② 많이 나온 값부터 정렬된다

기본적으로 등장 횟수가 많은 값이 위에 표시된다.
따라서 “가장 흔한 값”을 바로 확인할 수 있다.

③ 결과는 하나의 Series다

추가적인 계산이나 시각화로 바로 이어서 사용할 수 있다.

 

 

 

 

3. 비율로 보고 싶을 때 (normalize 옵션)

단순한 개수 대신, 전체에서 차지하는 비중이 궁금할 때도 많다.

이럴 때 value_counts()는 각 값의 비율(proportion) 을 계산해주는 옵션을 제공한다.

이를 통해:

  • 데이터 크기가 달라도 분포 비교가 가능하고
  • 특정 값이 전체에서 얼마나 중요한지 파악할 수 있다

머신러닝에서 클래스 불균형을 확인할 때 특히 자주 사용된다.

 

 

 

 

4. 결측치(NaN)에 대한 기본 동작

value_counts()는 기본적으로 결측치를 제외하고 계산한다.

즉,

  • 실제 값이 있는 데이터만을 대상으로
  • 분포를 계산한다

필요에 따라 결측치까지 포함해 분포를 확인할 수도 있어 데이터 품질 점검에도 활용된다.

 

 

 

 

5. 실무에서의 대표적인 활용 사례

✔ 데이터 탐색(EDA)의 시작

데이터를 처음 열었을 때 가장 먼저 실행하는 함수 중 하나다.

✔ 범주형 변수 분석

성별, 지역, 상품 종류, 상태 코드 등 범주형 컬럼의 구조를 빠르게 파악할 수 있다.

✔ 이상치 또는 희귀 값 확인

거의 등장하지 않는 값들을 쉽게 발견할 수 있다.

✔ 라벨 분포 확인

분류 문제에서 타깃 값이 한쪽으로 치우쳐 있는지 확인할 수 있다.

 

 

 

 

6. 사용할 때 기억하면 좋은 점

  • value_counts()는 컬럼(Series) 단위로 사용한다.
  • 숫자형 데이터에도 사용할 수 있지만, 보통은 범주형 데이터에서 가장 큰 힘을 발휘한다.
  • 결과를 기준으로 추가적인 필터링이나 시각화로 확장하기 좋다.

 

 

 

7. 한 문장 요약

value_counts()는 데이터 안에 어떤 값이 얼마나 들어 있는지를 가장 직관적으로 보여주는 pandas 함수다.

 

데이터를 이해하는 가장 빠른 길은 복잡한 계산보다 분포를 먼저 보는 것이고, 그 출발점에 항상 value_counts()가 있다.

'Python 코드' 카테고리의 다른 글

[Python] () 와 []의 차이  (0) 2025.12.16
[Python] train_test_split()  (0) 2025.10.22
[Python] DataFrame.fillna()  (0) 2025.10.22
[Python] Keras(TensorFlow)  (3) 2025.07.17
[Python] DataFrame.astype()  (1) 2025.07.14