如何在Python中用NumPy随机选择一个数组的元素

如何在Python中用NumPy随机选择一个数组的元素

随机值在机器学习、统计学和概率论等数据相关领域非常有用。numpy.random.choice()函数被用来从NumPy数组中获取随机元素。它是Python的NumPy包中的一个内置函数。

语法: numpy.random.choice( a , size = None, replace = True, p = None)

参数:

  • a : 一个一维数组/列表(随机样本将从其元素中生成)或一个整数(随机样本将在这个整数的范围内生成)。
  • size:int或ints的tuple(默认为None,返回单个随机值)。如果给定的形状是(m,n),那么将抽取m x n个随机样本。
  • replace : (可选); 布尔值,指定是用还是不用替换来抽取样本。当样本大于列表中的人口时,替换不能为False。
  • p : (可选);一个一维数组,包含与a中每个条目相关的概率。

方法

  • Import module
  • 创建一个样本数组
  • 从创建的数组中随机选择数值
  • 打印这样生成的数组。

下面是对一维和二维数组的实现。

生成一维的随机样本列表

示例 1:

import numpy as np
 
prog_langs = ['python', 'c++', 'java', 'ruby']
 
# generating random samples
print(np.random.choice(prog_langs, size=8))
 
# generating random samples without replacement
print(np.random.choice(prog_langs, size=3, replace=False))
 
# generating random samples with probabilities
print(np.random.choice(prog_langs, size=10,
                       replace=True, p=[0.3, 0.5, 0.0, 0.2]))

输出 :

如何在Python中用NumPy随机选择一个数组的元素?

示例 2:

import numpy as np
 
samples = 5
# generating random samples
print(np.random.choice(samples, size=10))
 
# generating random samples without replacement
print(np.random.choice(samples, size=5, replace=False))
 
# generating random samples with probabilities
print(np.random.choice(samples, size=5, replace=True))
 
# generating with probabilities
print(np.random.choice(samples, size=15,
                       replace=True, p=[0.2, 0.1, 0.1, 0.3, 0.3]))

输出:

如何在Python中用NumPy随机选择一个数组的元素?

生成一个二维的随机样本列表

示例:

import numpy as np
 
prog_langs = ['python', 'c++', 'java', 'ruby']
 
# generating random samples
print(np.random.choice(prog_langs, size=(4, 5)))
 
# generating random samples with probabilities
print('\n')
print(np.random.choice(prog_langs, size=(10, 2),
                       replace=True, p=[0.3, 0.5, 0.0, 0.2]))

输出:

如何在Python中用NumPy随机选择一个数组的元素?

示例 2:

import numpy as np
 
samples = 5
 
# generating random samples
print(np.random.choice(samples, size=(5, 5)))
 
# generating with probabilities
print('\n')
print(np.random.choice(samples, size=(8, 3),
                       replace=True,
                       p=[0.2, 0.1, 0.1, 0.3, 0.3]))

输出:

如何在Python中用NumPy随机选择一个数组的元素?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程