Pandas의 value_counts() 메서드를 사용하면 DataFrame 특정 열에 포함된 고유한 값의 이름과 각 값이 등장한 횟수(개수)를 손쉽게 확인할 수 있습니다. 이 글에서는 예제를 통해 값 이름과 개수를 추출하는 방법을 단계별로 살펴보겠습니다.
1. 예제용 DataFrame 생성
먼저 4개의 열을 가진 DataFrame을 생성합니다.
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Mustang', 'Tesla', 'Mustang', 'Mercedes', 'Tesla', 'Audi'],
"Cubic Capacity": [2000, 1800, 1500, 2500, 2200, 3000, 2000],
"Reg Price": [7000, 1500, 5000, 8000, 9000, 6000, 1500],
"Units Sold": [200, 120, 150, 120, 210, 250, 220]
})2. 특정 열에서 값 이름과 개수 추출하기
Car 열의 값 이름과 개수를 가져오려면 다음과 같이 작성합니다.
res = dataFrame['Car'].value_counts()
마찬가지로 Units Sold 열의 값 이름과 개수도 동일한 방식으로 구할 수 있습니다.
res = dataFrame['Units Sold'].value_counts()
전체 예제 코드
다음은 지금까지의 내용을 모두 포함한 완성된 코드입니다.
import pandas as pd
# DataFrame 생성
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Mustang', 'Tesla', 'Mustang', 'Mercedes', 'Tesla', 'Audi'],
"Cubic Capacity": [2000, 1800, 1500, 2500, 2200, 3000, 2000],
"Reg Price": [7000, 1500, 5000, 8000, 9000, 6000, 1500],
"Units Sold": [200, 120, 150, 120, 210, 250, 220]
})
print("DataFrame ...\n", dataFrame)
# Car 열의 값 이름과 개수 출력
res = dataFrame['Car'].value_counts()
print("\nCar 열의 값 이름과 개수:\n", res)
# Units Sold 열의 값 이름과 개수 출력
res = dataFrame['Units Sold'].value_counts()
print("\nUnits Sold 열의 값 이름과 개수:\n", res)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
DataFrame ...
Car Cubic Capacity Reg Price Units Sold
0 BMW 2000 7000 200
1 Mustang 1800 1500 120
2 Tesla 1500 5000 150
3 Mustang 2500 8000 120
4 Mercedes 2200 9000 210
5 Tesla 3000 6000 250
6 Audi 2000 1500 220
Car 열의 값 이름과 개수:
Mustang 2
Tesla 2
Audi 1
BMW 1
Mercedes 1
Name: Car, dtype: int64
Units Sold 열의 값 이름과 개수:
120 2
150 1
220 1
210 1
250 1
200 1
Name: Units Sold, dtype: int64정리
value_counts()는 Series 객체에 적용되며, 기본적으로 개수가 많은 순서대로 내림차순 정렬하여 결과를 반환합니다. 위 예제에서 볼 수 있듯이 Car 열에서는 Mustang과 Tesla가 각각 2번 등장했고, 나머지 차량은 1번씩 등장했습니다. 이처럼 value_counts()는 범주형 데이터의 분포를 빠르게 파악할 때 매우 유용하게 활용됩니다.