好友
阅读权限20
听众
最后登录1970-1-1
|
往期数据分析笔记
【笔记】python数据分析——numpy初识1
【笔记】python数据分析——numpy初识2
【笔记】python数据分析——变换与编程中的轴
numpy中的随机数函数
开始之前我们先导入numpy包
import numpy as np
1.均匀分布
- rand(均匀分布,在相同长度的间隔的分布概率是等可能的)
print(np.random.rand(2,3))
运行结果:
[[0.88481365 0.75807592 0.42977876]
[0.35479717 0.38166081 0.93096647]]
这个函数就是返回一个0-1之间等可能的随机数
- randint(给定范围随机整数,这个函数有三个参数,第一个是给定返回的最小值,第二个是给定范围的最大值,第三个是形状)
print(np.random.randint(1,10,(2,3)))
运行结果:
[[2 4 2]
[9 1 4]]
上面代码的意思是:创建了1-10范围之间的两行三列的整数
- randn(正态分布,正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线)
print(np.random.randn(2,3))
运行结果:
[[ 1.53115857 0.14403774 -0.39024395]
[ 0.18455718 -1.82529426 -0.16417137]]
正态分布=高斯分布(两头低,中间高,围绕中间高的那个数字)
- seed(随机数种子,如果你固定了随机数种子,你使用以上的随机数创建函数,值就会固定)
np.random.seed(2)
print(np.random.rand(2,3))
print(np.random.randint(1,10,(2,3)))
print(np.random.randn(2,3))
运行结果:
[[0.4359949 0.02592623 0.54966248]
[0.43532239 0.4203678 0.33033482]]
[[6 5 5]
[6 8 4]]
[[ 2.6460672 -0.04386375 -0.96561968]
[ 0.87866389 -2.24587483 1.11957525]]
如果你不希望固定随机数的话可以把第一行代码删除
乱序排列
- permutation(乱序,不改变原数组)
arr1 = np.arange(1,10)
print(arr1)
arr2 = np.random.permutation(arr1)
print(arr2)
运行结果:
[1 2 3 4 5 6 7 8 9]
[8 7 3 2 9 5 1 6 4]
- shuffle(乱序,直接改变原数组)
arr1 = np.arange(1,10)
print(arr1)
np.random.shuffle(arr1)
print(arr1)
运行结果:
[1 2 3 4 5 6 7 8 9]
[1 4 2 6 8 3 9 7 5]
给定参数的随机数
- uniform(给定参数均匀分布)
print(np.random.uniform(1,10,(2,3)))
运行结果:
[[2.5104098 4.30724232 5.21806226]
[6.88839564 8.13780769 6.96755614]]
给定1-10范围,两行三列的值,数字出现的概率相等
- normal(给定参数正态分布)
print(np.random.normal(0,1,(2,3)))
运行结果:
[[ 0.0319746 1.18246826 -1.12076831]
[-0.85800742 -0.52715869 1.11385518]]
0是均值(加起来的和为0),1是标准差(最大值和最小值相差1)
- poisson(给定参数泊松分布)
print(np.random.poisson(0,(2,3)))
print(np.random.poisson(2,(2,3)))
运行结果:
[[0 0 0]
[0 0 0]]
[[1 5 5]
[4 5 3]]
2是发生概率(0代表没发生,非0数即为发生),两行三列
今日鸡汤
当你下定决定做一件事,那就去尽力做,即便这件事最后没有达到你的预期回报,但你还是得认真、努力去完成,在这过程中,你会逐渐认识到自己的不足,认清自己真正想要什么。给自己一个期限,不用告诉所有人,不要犹豫,直到你真的尽力为止。
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|