본문 바로가기
독서

빈도값 구하기

by _><- 2022. 6. 5.
반응형

2가지 방법


1. groupby 함수 활용

# 소수점을 반올림하는 함수 round() 활용

data2 = round(data['AGE'],0)
 
연산결과는 series타입
 
print(type(data2))

<class 'pandas.core.series.Series'>
연산을 위해 DataFrame으로 변환
data2 = pd.DataFrame(data2)

# groupby() 함수로 변수의 값별로 개수를 구할 수 있음

print(data2.groupby(['AGE'])['AGE'].count())
 
data3 = data2.groupby(['AGE'])['AGE'].count()
 
count() 연산된 결과도 series 타입
 
 

연산을 위해 DataFrame으로 변환

data3 = pd.DataFrame(data3)

 
 
# 데이터프레임의 컬럼이름 확인
print(data3.columns)
 
print(data3)
 
Index(['AGE'], dtype='object')

       AGE
AGE       
3.0      1
6.0      3
7.0      3
8.0      3
9.0      1
...    ...
96.0    15
97.0    17
98.0    19
99.0    10
100.0   43

[91 rows x 1 columns]
 

count결과 컬럼명을 AGE에서 Count로 변경
data3.columns = ['Count']

print(data3)

       Count
AGE         
3.0        1
6.0        3
7.0        3
8.0        3
9.0        1
...      ...
96.0      15
97.0      17
98.0      19
99.0      10
100.0     43

[91 rows x 1 columns]


# 인텍스값으로 변경된 Age를 다시 컬럼으로 활용하기 위해 reset_index() 함수를 활용
- drop = False 옵션 활용
- inplace = Truue 옵션 적용
data3.reset_index(drop = False, inplace = True)

print(data3)
 
      AGE  Count
0     3.0      1
1     6.0      3
2     7.0      3
3     8.0      3
4     9.0      1
..    ...    ...
86   96.0     15
87   97.0     17
88   98.0     19
89   99.0     10
90  100.0     43

[91 rows x 2 columns]
 
data3.sort_values(by = 'Count', ascending = False, inplace = True)
print(data3)
      AGE  Count
90  100.0     43
88   98.0     19
87   97.0     17
84   94.0     16
86   96.0     15
..    ...    ...
7    14.0      1
6    13.0      1
4     9.0      1
42   51.0      1
0     3.0      1

[91 rows x 2 columns]


# 최빈값과 빈도수 출력

print(data3.iloc[0,0], data3.iloc[0,1])


2. scipy의 mode()함수 활용

from scipy.stats import mode

mode(data)
-> 최빈값과 갯수가 출력

최빈값만 출력
mode(data)[0]

정수형으로 출력
int(mode(data)[0])

최빈값 갯수만 출력
mode(data)[1]

정수형으로 출력
int(mode(data)[1])


반응형

'독서' 카테고리의 다른 글

유니크한 값 구하기  (0) 2022.06.06
StandardScaler  (0) 2022.06.06
MinMaxScaler  (0) 2022.06.05
오름차순/내림차순  (0) 2022.06.05
그룹별 집계, 요약하기  (0) 2022.06.03