본문 바로가기
python/Pandas

Pandas - 컬럼의 고유 값 및 고유값 count 찾기 - 이런저런 방법들!

by 맑은안개 2021. 3. 3.

Pandas 내장 함수를 사용하여 컬럼의 고유 값을 찾고 해당 고유 값의 전체 수를 출력해 본다.


실행환경

- Python 3.9

- Pandas 1.2.0

 

데이터 준비

import pandas as pd
data = pd.read_csv('https://bit.ly/fish_csv')

데이터는 7개의 물고기 종류에 대한 데이터를 갖고 있다.

data

# OUTPUT
	Species	Weight	Length	Diagonal	Height	Width
0	Bream	242.0	25.4	30.0	11.5200	4.0200
1	Bream	290.0	26.3	31.2	12.4800	4.3056
2	Bream	340.0	26.5	31.1	12.3778	4.6961
3	Bream	363.0	29.0	33.5	12.7300	4.4555
4	Bream	430.0	29.0	34.0	12.4440	5.1340
...	...	...	...	...	...	...
154	Smelt	12.2	12.2	13.4	2.0904	1.3936
155	Smelt	13.4	12.4	13.5	2.4300	1.2690
156	Smelt	12.2	13.0	13.8	2.2770	1.2558
157	Smelt	19.7	14.3	15.2	2.8728	2.0672
158	Smelt	19.9	15.0	16.2	2.9322	1.8792
159 rows × 6 columns

Species 컬럼의 고유 값 확인

pd.unique(data['Species'])

# OUTPUT
array(['Bream', 'Roach', 'Whitefish', 'Parkki', 'Perch', 'Pike', 'Smelt'],
      dtype=object)

describe() 함수로 unique 한 값의 총 수를 구할 수 있다.

fish['Species'].describe()

# OUTPUT
count       159
unique        7
top       Perch
freq         56
Name: Species, dtype: object

value_counts() 함수로 해당 컬럼의 값 별 총 수를 구할 수 있다.

fish['Species'].value_counts()

# OUTPUT
Perch        56
Bream        35
Roach        20
Pike         17
Smelt        14
Parkki       11
Whitefish     6
Name: Species, dtype: int64

size() 사용 ( n개 컬럼에 대한 groupby count)

fish.groupby('Species').size()

# OUTPUT
Species
Bream        35
Parkki       11
Perch        56
Pike         17
Roach        20
Smelt        14
Whitefish     6
dtype: int64

# n개의 컬럼을 groupby
fish.groupby(['Species', 'Length']).size()

Species    Length
Bream      25.4      1
           26.3      1
           26.5      1
           29.0      2
           29.7      2
                    ..
Whitefish  26.5      1
           28.0      1
           31.0      1
           36.4      1
           40.0      1
Length: 120, dtype: int64

 

groupby()를 사용한 다른 방법 ( 방법이 있다는것이지 굳이 이렇게 할 필요는 없다 -_- )

fish['one'] = 1
fish[['Species', 'one']].groupby('Species').sum()

# OUTPUT
	one
Species	
Bream	35
Parkki	11
Perch	56
Pike	17
Roach	20
Smelt	14
Whitefish	6

 

반응형