numpy.random.choice随机选取生成数组 作者:马育民 • 2020-05-25 23:13 • 阅读:10158 # 介绍 从一个int数字或1维array里随机选取内容,并生成新数组 # 语法 ``` numpy.random.choice(a, size=None, replace=True, p=None) ``` ##### 参数 - a : 1-D array-like or int 如果是ndarray,从该数组中随机选取元素,并生成数组 如果为int型数字,就像np.arange(n)一样,然后从该数组中随机选取元素,并生成数组 - size : 生成数组的长度。int or tuple of ints, 可选 - replace : boolean, 可选。如果False,生成数组的元素都不一样,如果True,有可能会出现重复 抽样之后是否还放回去,如果是False,那么出来的三个数都不一样,如果是True, 有可能会出现重复的,因为前面的抽的放回去了 - p : 1-D array-like, 可选 从a中选取的概率,默认均匀分布 # 例子 ``` >>> np.random.choice(5, 3) array([0, 3, 4]) >>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0]) array([3, 3, 0]) >>> np.random.choice(5, 3, replace=False) array([3,1,0]) >>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0]) array([2, 3, 0]) >>> aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher'] >>> np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3]) array(['pooh', 'pooh', 'pooh', 'Christopher', 'piglet'], ``` 感谢: https://blog.csdn.net/autoliuweijie/article/details/51982514 https://blog.csdn.net/qfpkzheng/article/details/79061601 原文出处:http://www.malaoshi.top/show_1EF5aZdTXtNz.html