파이썬/파이썬 심화

[파이썬 심화] 4-2. NumPy 샘플링, 카운팅

Harvie 2023. 6. 27. 08:00
반응형

샘플링

  • 데이터에서 표본을 무작위로 선택하는 과정
  • np.random.choid(a,size=None,replace=True,p=None)

        a : 정수 = arange(a), 배열 = 원래 데이터
        size : 샘플 숫자 (정수)
        replace : True면 복원추출(같은 값이 여러 번 표본으로 선택 가능) , False면 비복원추출(boolean, 디폴트는 True)
        p : 각 데이터의 선택 확률 (리스트)

print(np.random.choice(4,3)) # 0 ~ 3 중 3개 샘플링 - 중복 가능(복원추출)
# [0 2 2]

print(np.random.choice(4,3, replace=False)) # 중복 불가능(비복원추출)
# [3 2 0]

print(np.random.choice(4)) # 0 ~ 4 중에 1개만 추출
#3 

print(np.random.choice(4,10)) # 0 ~ 4 중에 10개 랜덤 값 추출
# [0 1 0 2 2 0 2 0 0 0]

print(np.random.choice(4,10,p=[0.4,0.3,0.3,0])) # 확률 추가
# [2 1 0 1 1 0 0 0 1 1]

 
 

카운팅

  • unique - 중복된 값을 제거
print(np.unique([1,3,1,5,3,1,5,3]))
# [1 3 5]

a = np.array(['a','b','b','c','a'])
index, count = np.unique(a, return_counts=True) # 배열 안에 들어있는 각 값의 개수 출력

print(index) # ['a' 'b' 'c']
print(count) # [2 2 1]

 

  • bincount - 0~(minlength-1) 범위의 숫자에 대해 각각 카운트
a = [1,3,1,5,3,1,5,3]
print(np.bincount(a,minlength=6))
# [0 3 0 3 0 2]
# 0 : 0개, 1 : 3개, 2 : 0개, 3 : 3개, 4 : 0개 , 5 : 2개

 

반응형