Programing Language/Python

Python 함수 : Counter

Data-SSung 2020. 7. 31. 17:12
반응형

Python 함수

Counter


Counter

  • 리스트나 디션너리 원소들의 수를 셀 때 사용하는 함수

  • collections 패키지를 불러와야함

1. 기본 카운팅

# version1
from collections import Counter 
A = ['A','B','C','A','A','B']
Counter(A)
# 결과
Counter({'A': 3, 'B': 2, 'C': 1})

# version2
# 각 안에 들어 있는 리스트 안에 value 원소들의 카운팅 
B = [[1, 'A'], [2, 'B'], [3, 'B'],[4, 'A'], [7, 'C'], [6, 'B']]
counter([v for k,v in B])
# 결과
Counter({'A': 2, 'B': 3, 'C': 1})

 

2. 딕셔너리 만들고 카운팅

  • 딕셔너리는 동일한 키 값을 추가해주면, 기존에 있던 키 값에 덮어씌움.
  • 왠만하면 딕셔너리 만들 때 동일한 키값 사용하지 않기
# 딕션너리 내에서 원소 별 카운팅
# 딕셔너리 만들기
c = [[1, 'A'], [2, 'B'], [3, 'B'],[4, 'A'], [7, 'C'], [6, 'B']]
c = [v for k,v in c]
c
# 결과
['A', 'B', 'B', 'A', 'C', 'B']

C = {i:0 for i in c}
C
# 결과
{'A': 0, 'B': 0, 'C': 0}

# 카운팅하기
for i in c:
	C[i] += 1
C
# 결과
{'A': 2, 'B': 3, 'C': 1}

# Count 활용
Counter(c)
# 결과
Counter({'A': 2, 'B': 3, 'C': 1})

 

3. 딕셔너리 추가해서 카운팅하기

c = [[1, 'A'], [2, 'B'], [3, 'B'],[4, 'A'], [7, 'C'], [6, 'B']]
plus_list = [[9,'D'],[10, 'A'], [12, 'B'], [13, 'B'],[24, 'A']]

# 기존의 C를 카운팅
C = Counter([v for k,v in c])
C
# 출력
Counter({'A': 2, 'B': 3, 'C': 1})

# puls_list 추가하기
P = [v for k,v in plus_list]
C.update(P)
C
# 결과
Counter({'A': 4, 'B': 5, 'C': 1, 'D': 1})

# 가장 많은 빈도인 1개 확인 
C.most_common(2)
# 결과
[('B', 5)]

 

4. Counter 활용 차집합 해보기

A = ['a','b','c']
B = ['b']

# 차집합
Counter(A)-Counter(B)
# 결과
Counter({'a': 1, 'c': 1})

 

참고 사이트 : https://m.blog.naver.com/PostView.nhn?blogId=wideeyed&logNo=221540885097&proxyReferer=https:%2F%2Fwww.google.com%2F

반응형