个人学习总结,持续更新中……
随机数组
随机抽样 — np.random.choice()
np.random.choice(a, size=None, replace=True, p=None)
- 参数a表示待抽样的全体样本,只接受整数或一维数组(列表)。参数a如果是整数,相当于将数组np.arrange(a)作为全体样本。
- 参数replace用于指定是否允许多次抽取同一个样本,默认是允许(简单理解:抽取后样本是否放回)。
- 参数p是和全体样本集合等长的权重数组,用于指定对应样本被抽中的概率。
import numpy as np
a = np.random.choice(a=2, size=5)
print(f'a:\n{a}\n') # 抽签样本只有1个元素0,抽取5次
'''
a:
[1 1 1 0 0]
'''
b = np.random.choice(['a', 'b', 'c'], size=(3, 5), p=[0.5, 0.25, 0.25]) # 指定权重
print(f'b:\n{b}\n')
'''
b:
[['a' 'b' 'c' 'a' 'a']
['a' 'a' 'a' 'c' 'a']
['c' 'c' 'b' 'c' 'c']]
'''
c = np.random.choice(10, size=(2, 5), replace=False)
print(f'c:\n{c}\n') # 不允许重复
'''
c:
[[1 2 9 5 8]
[6 7 3 0 4]]
'''
d = np.random.choice(np.arange(10), size=(2, 5), replace=True)
print(f'd:\n{d}\n') # 允许重复
'''
d:
[[1 5 0 6 0]
[9 0 8 0 8]]
'''
import numpy as np
e = np.random.choice(np.arange(10), size=(2,), replace=True)
print(f'e:\n{e}\n') # 允许重复
'''
e:
[6 7]
'''