python
[numpy] 2차원 벡터 | 랜덤 함수
전감자(◔◡◔)
2022. 9. 28. 18:56
'''
랜덤값 이용
np.random.함수명() 형식
'''
import numpy as np
print(dir(np.random))
'''
['BitGenerator', 'Generator', 'MT19937', 'PCG64', 'PCG64DXSM', 'Philox',
'RandomState', 'SFC64', 'SeedSequence', '__RandomState_ctor', '__all__', '__builtins__',
'__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__',
'__spec__', '_bounded_integers', '_common', '_generator', '_mt19937', '_pcg64', '_philox',
'_pickle', '_sfc64',
'beta', 'binomial', 'bit_generator', 'bytes', 'chisquare', 'choice',
'default_rng', 'dirichlet', 'exponential', 'f', 'gamma', 'geometric', 'get_state', 'gumbel',
'hypergeometric', 'laplace', 'logistic', 'lognormal', 'logseries', 'mtrand', 'multinomial',
'multivariate_normal', 'negative_binomial', 'noncentral_chisquare', 'noncentral_f', 'normal',
'pareto', 'permutation', 'poisson', 'power', 'rand', 'randint', 'randn', 'random',
'random_integers', 'random_sample', 'ranf', 'rayleigh', 'sample', 'seed', 'set_state',
'shuffle', 'standard_cauchy', 'standard_exponential', 'standard_gamma', 'standard_normal',
'standard_t', 'test', 'triangular', 'uniform', 'vonmises', 'wald', 'weibull', 'zipf']
'''
#np.random.seed(1234)
#1. np.random.random(),0.0<= 1.0, [0.0,1.0)
print(np.random.random()) #스칼라 한 개 반환, 0.1915194503788923
print(np.random.random(5)) #벡터 반환,[0.62210877 0.43772774 0.78535858 0.77997581 0.27259261]
print("2. np.random.radom((행,열))")
print(np.random.random((2,3)))#행렬 반환, [[0.5233206 0.98164096 0.34623696][0.18283495 0.47015338 0.28091409]]
print()
#2. np.random.rand(),균등분포에서 랜덤값 추출
print("2. np.random.rand([개수])")
print(np.random.rand()) #스칼라 한 개 반환, 0.1915194503788923
print(np.random.rand(5)) #벡터 반환,[0.62210877 0.43772774 0.78535858 0.77997581 0.27259261]
print(np.random.rand(2,3))#행렬 반환, [[0.5233206 0.98164096 0.34623696][0.18283495 0.47015338 0.28091409]]
print()
#3. np.random.randn(),정규분포(평균값이 0이고 표준편차 1) 랜덤값 추출)
print("4. np.random.randn()")
print(np.random.randn()) #스칼라 한 개 반환
print(np.random.randn(5))# 벡터 반환
print(np.random.randn(2,3))#행렬 반환
print()
#4. np.random.randint(), [a,b) 사이 랜덤값 반환
print("5. np.random.randint()")
print(np.random.randint(2,size=5)) #벡터 반환
print(np.random.randint(1,10,size=5)) #벡터 반환
print(np.random.randint(2,size=(2,3))) #행렬 반환
print(np.random.randint(1,10,size=(2,3))) #행렬 반환
print()
#5. np.random.choice(), 지정된 리스트에서 랜덤값 추출 ,중복추출 가능
print("6. np.random.choice(리스트)")
print(np.random.choice([3,6,8,9])) #size 미지정시 값 하나 변환
print(np.random.choice([3,6,8,9],size=2))#size 지정시 갯수만큼 반환
print(np.random.choice([3,6,8,9],size=2,replace=False))#중복추출 불가능
print()
#6. np.random.shuffle(), in-place=True 기본(자신이 변경됨)
print("7. np.random.shuffle(리스트)")
x=[1,2,3,4,5]
np.random.shuffle(x)
print(x)