달나라 노트

Python Pandas : value_counts (Series에 들어있는 값 개수 세기) 본문

Python/Python Pandas

Python Pandas : value_counts (Series에 들어있는 값 개수 세기)

CosmosProject 2021. 1. 5. 17:34
728x90
반응형

 

 

 

Pandas의 Series에는 value_counts라는 method가 존재합니다.

이것은 Series에 존재하는 값들 중 동일한 값들이 몇 개 있는지를 세어줍니다.

 

 

 

 

import pandas as pd

list_test = [1, 2, 3, 3, 3, 4, 5, 5, 6, 7, 8, 8, 8, 9]
seri_test = pd.Series(list_test)


- Output
0     1
1     2
2     3
3     3
4     3
5     4
6     5
7     5
8     6
9     7
10    8
11    8
12    8
13    9
dtype: int64

먼저 위처럼 test용Series를 만들어줍시다.

 

 

 

 

 

 

val_cnt = seri_test.value_counts()
print(val_cnt)
print(type(val_cnt))

- Output
8    3
3    3
5    2
9    1
7    1
6    1
4    1
2    1
1    1
dtype: int64
<class 'pandas.core.series.Series'>

생성한 Series에 위처럼 value_counts method를 적용시키면 각 값이 몇개씩 존재하는지에 대한 결과가 새로운 Series로서 반환됩니다.

 

 

 

 

 

 

import pandas as pd

dict_test = {
    'col1': [1, 2, 3, 3, 3, 4, 5, 5, 6, 7, 8, 8, 8, 9],
    'col2': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
}

df_test = pd.DataFrame(dict_test)
print(df_test)

- Output
    col1  col2
0      1     1
1      2     2
2      3     3
3      3     4
4      3     5
5      4     6
6      5     7
7      5     8
8      6     9
9      7    10
10     8    11
11     8    12
12     8    13
13     9    14

이번엔 test용 DataFrame을 생성해봅시다.

 

 

 

 

 

 

 

val_cnt = df_test['col1'].value_counts()
print(val_cnt)
print(type(val_cnt))

- Output
8    3
3    3
5    2
9    1
7    1
6    1
4    1
2    1
1    1
Name: col1, dtype: int64
<class 'pandas.core.series.Series'>

value_counts는 Series에 적용 가능하므로 DataFrmae에서 col1의 데이터만 뽑아내어 Series로 만든 후 value_counts를 적용시킬 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형
Comments