75

Here explains the function numpy.random.choice. However, I am confused about the third parameter replace. What is it? And in which case will it be useful? Thanks!

amin
  • 1,413
  • 14
  • 24
wking
  • 1,293
  • 1
  • 16
  • 27

2 Answers2

78

It controls whether the sample is returned to the sample pool. If you want only unique samples then this should be false.

Ignacio Vazquez-Abrams
  • 776,304
  • 153
  • 1,341
  • 1,358
42

You can use it when you want sample some elements from a list, and meanwhile you want the elements no repeat, then you can set the "replace=False".
eg.

from numpy import random as rd

ary = list(range(10))
# usage
In[18]: rd.choice(ary, size=8, replace=False)
Out[18]: array([0, 5, 9, 8, 2, 1, 6, 3])  # no repeated elements
In[19]: rd.choice(ary, size=8, replace=True)
Out[19]: array([4, 9, 8, 5, 4, 1, 1, 9])  # elements may be repeated
MonkandMonkey
  • 619
  • 5
  • 6