- 常用的随机方法
- 1. random.randint()
- 2. random.choice()
- 3.np.linspace()
- 4. np.ceil() ,np.floor()
t = np.random.randint(0, 20, (3, 4)) t2 = np.random.randint(20, size=(3, 4)) # 默认low从 0开始. print(t) print("------------------") print(t2)
输出: [[13 5 16 0] [15 19 18 9] [14 7 18 14]] ------------------ [[ 8 16 4 17] [13 11 12 15] [15 12 10 17]]
// A code block var foo = 'bar';2. random.choice()
相关参数
- size:从元组,列表,数组中取多少个数据,不写,默认为1个
- replace:是否可以取相同元素:True:可以,False:不可以,默认是True
- p:实际是个数组,大小与数组相同,用来规定选取数组中每个元素的概率,默认为概率相同。注意:概率相加等于1
# 1、产生随机数 a = np.random.choice(5) # 从[0, 5)中随机输出一个随机数 print(a) print("------------------") # 2、从数组、列表或元组中随机抽取N个数 list_1 = [1, 2, 3, 4, 5] # list列表 tuple_1 = (6, 7, 8, 9) # tuple元组 arr_1 = np.array([10, 11, 12]) # numpy,array数组,必须是一维的 print(np.random.choice(list_1, size=5)) print(np.random.choice(tuple_1, size=5)) print(np.random.choice(arr_1, size=5)) print("------------------") print(np.random.choice(arr_1, size=5, p=[0.1, 0.6, 0.3])) print(np.random.choice(tuple_1, size=5, p=[0.1, 0.6, 0.3, 0.7]))
输出: 3 ------------------ [1 5 1 1 3] [9 7 8 8 6] [12 10 10 10 10] ------------------ [10 12 11 12 11] Traceback (most recent call last): File "D:/PycharmProjects/untitled/数据分析/测试/test.py", line 45, in3.np.linspace()print(np.random.choice(tuple_1, size=5, p=[0.1, 0.6, 0.3, 0.7])) File "mtrand.pyx", line 932, in numpy.random.mtrand.RandomState.choice ValueError: probabilities do not sum to 1
np.linspace() 主要用于生成等差数列,相关参数如下:
- start:起始点
- stop:终止点 【包含】
- num : 生成start和stop之间num个等差间隔的元素,默认50,
- endpoint :生成等差间隔为 (stop - start)/num 的元素,默认为True
- retstep:返回一个(array,num)元组,array是结果数组,num是间隔大小,默认False
- dtype: 输出数组的类型。
# np.linspace list_1 = np.linspace(0, 9) list_2 = np.linspace(0, 9, num=10) list_3 = np.linspace(0, 9, num=10, retstep=True) list_4 = np.linspace(1, 9, num=10, endpoint=False) print(list_1) print("------------------------------------") print(list_2) print(list_3) print("------------------------------------") print(list_4)
输出: [0. 0.18367347 0.36734694 0.55102041 0.73469388 0.91836735 1.10204082 1.28571429 1.46938776 1.65306122 1.83673469 2.02040816 2.20408163 2.3877551 2.57142857 2.75510204 2.93877551 3.12244898 3.30612245 3.48979592 3.67346939 3.85714286 4.04081633 4.2244898 4.40816327 4.59183673 4.7755102 4.95918367 5.14285714 5.32653061 5.51020408 5.69387755 5.87755102 6.06122449 6.24489796 6.42857143 6.6122449 6.79591837 6.97959184 7.16326531 7.34693878 7.53061224 7.71428571 7.89795918 8.08163265 8.26530612 8.44897959 8.63265306 8.81632653 9. ] ------------------------------------ [0. 1. 2. 3. 4. 5. 6. 7. 8. 9.] (array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.]), 1.0) ------------------------------------ [1. 1.8 2.6 3.4 4.2 5. 5.8 6.6 7.4 8.2]4. np.ceil() ,np.floor()
- np.ceil() 向上取整,
- np.floor()向下取整
a = np.array([1.2, 4.3, 5.6, 7.2, 8.1]) print(np.ceil(a)) # 向上取整,不是四舍五入 print(np.floor(a)) # 向下取整,不是四舍五入
输出: [2. 5. 6. 8. 9.] [1. 4. 5. 7. 8.]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)