Чем numpy.choice отличается от numpy.randint? - PullRequest
0 голосов
/ 20 апреля 2019

Мне нужно сэмплировать с заменой из массива A длины n. Я хочу знать, чем отличаются две приведенные ниже команды. Если они оба дают одинаковый результат, какой из них лучше (с точки зрения производительности и т. Д ...)

A[np.random.randint(0, n, n)]

A[np.random.choice(n, n)]

Ответы [ 2 ]

1 голос
/ 20 апреля 2019

randint возвращает случайное целое число в указанном диапазоне.choice возвращает случайный элемент из предоставленного массива, или, если вы предоставляете int (как вы это сделали), он работает как np.random.randint(0, n, n).Таким образом, в этом примере нет никакой разницы, однако я думаю, что randint будет немного быстрее.

1 голос
/ 20 апреля 2019

Целью выбора является выборка массива, указание целого числа - это сокращение до диапазона длины целого числа. Таким образом, randint, вероятно, будет более эффективным, если вы неправильно используете свой выбор.

Однако правильный способ сделать это - np.random.choice(A, size=n). Именно так и пишется «образец с заменой».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...