ABOUT ME

Looking for direction

Today
Yesterday
Total
  • Python 함수 : Counter
    Programing Language/Python 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

    반응형

    댓글

Designed by Tistory.