...
Parameters
----------
a : 1-D array-like or int
If an ndarray, a random sample is generated from its elements.
If an int, the random sample is generated as if it were ``np.arange(a)``
...
因此,当你传递一个np.random.choice(100)中的整数时,它会构造一个数组并从数组中选择一个元素。 vs. np.random.randint(100),它从0和100之间的整数的离散均匀分布的分布中返回随机值。 我不知道为什么random.choice会有这种行为,可能是一些历史原因。但无论如何,我建议只向random.choice传递python列表或numpy数组之类的对象。 同样,你可以在Python解释器中很容易地查看Python中的文档字符串。
1条答案
按热度按时间mnemlml81#
在您的示例中,
np.random.choice
较慢,因为它执行的工作较多。引用其文档字符串因此,当你传递一个
np.random.choice(100)
中的整数时,它会构造一个数组并从数组中选择一个元素。vs.
np.random.randint(100)
,它从0和100之间的整数的离散均匀分布的分布中返回随机值。我不知道为什么
random.choice
会有这种行为,可能是一些历史原因。但无论如何,我建议只向random.choice
传递python列表或numpy数组之类的对象。同样,你可以在Python解释器中很容易地查看Python中的文档字符串。