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
반응형
'python > Pandas' 카테고리의 다른 글
Pandas query 사용, 다중 조건, Like 검색 등 예제 (0) | 2022.11.09 |
---|---|
Pandas - Null Data 처리방법 ( ffill, bfill, mean, interpolate 차이 그래프 비교 ) (0) | 2021.03.05 |