目录
2.3.3 random函数以上1-6随机函数的区别是什么:
1.课前准备:
(1)python可视化免费软件(官网:Project Jupyter | Home):
Jupyter Notebook (anaconda)
(1) 会动的脑袋瓜子
2.Numpy库怎么用?案例演示:
2.1 字符与数组
arr1 = np.array((1, 3, 5, 7, 9))
print("1.传入元组一个一维数组",arr1)
print("---------------------------------------------------------------")
arr2 = np.array([2, 4, 6, 8, 10])
print("2.传入列表一个一维数组",arr2)
print("---------------------------------------------------------------")
arr3 = np.array([['a', 'b', 'c'], ['d', 'e', 'f']])
print("3.传入一个嵌套列表创建一个二维字符数组\n",arr3)
2.2 random函数
2.3.1 random函数是什么?
random函数是用于生成伪随机数的内置模块,其主要作用包括生成随机数、打乱数据序列、生成随机字符串等
2.3.2 random函数运用:
(1)np.random.random()
是用于生成一个或一组服从[0,1)均匀分布的随机数的函数。
print("利用random()创建的数组为: \n", np.random.random())
print("---------------------------------------------------------------")
print("利用random(2)创建的数组为: \n", np.random.random(2))
print("---------------------------------------------------------------")
print("利用random((2,5))创建的数组为: \n", np.random.random((2, 5)))
(2)np.random.rand
()是用于接收分开的参数来指定生成数组的形状,每个元素都是[0,1)间的随机数。
print("利用rand()创建的数组为: \n", np.random.rand())
print("---------------------------------------------------------------")
print("利用random(4)创建的数组为: \n", np.random.rand(4))
print("---------------------------------------------------------------")
print("利用random(4,3)创建的数组为: \n", np.random.rand(4, 3))
(3)np.random.randint
()是numpy
库中用于生成一定范围内的随机整数的函数
random_numbers = np.random.randint(1, 6, size=(10,))
print("打印长度为10的一维数组,其中元素都是1到5之间的随机整数",random_numbers)
print("---------------------------------------------------------------")
print("指定范围生成一个指定范围及数组长宽的随机数组为:\n", np.random.randint(2, 5, size=(2, 3)))
print("---------------------------------------------------------------")
print("指定范围生成一个指定范围内的随机整数为:", np.random.randint(2, 5))
(4)np.random.randn
()用于生成服从标准正态分布的随机数。这个函数可以返回一个或多个随机数,通常用于创建具有指定形状的多维数组。
L1 = np.random.randn(3,3)
L2 = np.random.randn(3,3)
L3 = np.random.randn(3,3)
L4 = np.random.randn(3,3)
print("L1:\n",L1)
print("L2:\n",L2)
print("L3:\n",L3)
print("L4:\n",L4)#输出L3和L4和上一个L1、L2不一样了
(5)np.random.shuffle()
用随机乱序原数组。
L=np.arange(10)
print(L)
np.random.shuffle(L)
print(L)#注意这里输出已经改变
(6)np.random.
permutation()
是用于生成随机排列的函数。
np.random.permutation(L)
(7)np.arange()
用于创建等差数列。
print(np.arange(5))
print(np.arange(1, 10, 2))
2.3.3 random函数以上1-6随机函数的区别是什么:
在NumPy库中,random()
, rand()
, randint()
, randn()
, permutation()
和shuffle
这些函数都用于生成随机数或操作数组,但它们各自有着不同的特点和用途。具体如下:
np.random.rand()
: 类似于一个装满了均匀小球的不透明袋子,无论你摸多少次,每个小球被摸到的概率都是相同的。它用于生成服从均匀分布的浮点数随机数,数值范围在[0,1)之间。np.random.randn()
: 就像从一个巨大的标准正态分布的海洋里捞起一滴水,这滴水的位置(数值)遵循着著名的钟形曲线(正态分布曲线)。它用于生成服从标准正态分布N(0,1)的浮点数随机数,可用于模拟和统计分析。np.random.randint()
: 想象你有一个透明的装满了不同颜色小球的袋子,每种颜色的小球代表一个整数。当你从中取出一个小球时,你会得到一个确定的整数。它用于生成指定范围内的随机整数,包含最小值,不包含最大值。np.random.permutation()
: 类似于把一副扑克牌彻底洗混,然后从中抽出一张,得到一个完全随机且不重复的结果序列。它用于生成一个随机排列的数组,可以是一个数字序列,也可以是多维数组的行或列的随机排列。np.random.shuffle()
: 这个函数更像是将一副牌面朝下放在桌上,然后你用手将其彻底洗混,使得牌的顺序完全改变。它用于就地打乱数组的元素顺序。
总的来说,np.random.rand()
生成均匀分布的浮点数,np.random.randn()
生成标准正态分布的浮点数,np.random.randint()
生成指定范围内的整数,而 np.random.permutation()
生成随机排列的数组,np.random.shuffle()
则就地打乱数组的顺序。
因为random()
, rand()特别相似,所以我们单独拿来解释:
random()
和rand()
这两个函数都用于生成随机数,但它们属于不同的模块。具体区别分析如下:
- 所属模块:
random()
函数属于Python标准库中的random
模块,而rand()
函数是numpy.random
模块的一部分。 - 返回类型:
random.random()
返回一个在[0, 1)范围内的浮点数,每次调用产生一个随机数。相比之下,np.random.rand()
可以接收一个整数参数n
,返回一个包含n
个在[0, 1)范围内的均匀分布的浮点数的一维数组。如果不提供参数,默认情况下它返回一个单一的随机数,就像random.random()
一样。 - 功能范围:
random.random()
仅提供生成单个随机数的功能,而np.random.rand()
可以生成任意长度的随机数序列,功能更为强大。
—————————END—————————