[Numpy] Numpy.random.choice
파라미터 값에 따라 리스트에서 무작위로 데이터를 추출하는 메소드이다.
Numpy.random.choice
Parameters
a : 1-D array-like or int
- 무작위 추출을 원하는 데이터.
만약 int 값을 넣을경우 0부터 해당 수까지의 정수배열을 생성한다.
size : int or tuple of ints, optional
- 추출할 데이터 개수
replace : boolean, optional (default True)
- 같은 데이터를 또 추출하는 것을 허용할지 말지 결정. 디폴트는 True.
p : 1-D array-like, optional
- 데이터별로 뽑아올 확률을 지정 할 수 있다.
추출할 데이터와 길이가 같아야 한다.
—
사용 예시
import numpy as np;
data = ['A','B','C','D','E'];
size = 5;
result = [];
for i in range(5):
temp = np.random.choice(data, size, replace=True);
result.append(temp);
print(np.array(result));
# print
array([['D', 'A', 'C', 'B', 'D'],
['D', 'E', 'A', 'D', 'A'],
['C', 'B', 'A', 'D', 'B'],
['D', 'B', 'B', 'C', 'D'],
['E', 'E', 'D', 'B', 'C']], dtype='<U1')
size = 5;
result = [];
for i in range(5):
temp = np.random.choice(5, size, replace=False);
result.append(temp);
print)np.array(result));
# print
array([[4, 0, 2, 1, 3],
[0, 3, 4, 1, 2],
[3, 4, 2, 1, 0],
[0, 2, 1, 4, 3],
[4, 0, 1, 3, 2]])
data = ['A','B','C','D','E'];
p = [0.8,0,0,0,0.2];
size = 5;
result = [];
for i in range(10):
temp = np.random.choice(a=data, size=size, replace=True,p=p);
result.append(temp);
print(np.array(result));
# print
array([['E', 'E', 'A', 'A', 'A'],
['A', 'A', 'A', 'E', 'A'],
['A', 'A', 'A', 'A', 'A'],
['A', 'A', 'E', 'E', 'A'],
['A', 'E', 'A', 'A', 'A'],
['A', 'A', 'A', 'A', 'A'],
['A', 'A', 'A', 'A', 'A'],
['E', 'E', 'A', 'A', 'E'],
['A', 'A', 'A', 'A', 'A'],
['A', 'A', 'A', 'A', 'E']], dtype='<U1')
Leave a comment