微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python numpy 入门系列 21 零散知识点

 

np.random.uniform

借助numpy.random.uniform()方法,我们可以从均匀分布中获取随机样本,并使用此方法随机样本作为numpy数组返回。

均匀分布

用法numpy.random.uniform(low=0.0, high=1.0, size=None)

Return:以numpy数组形式返回随机样本。

范例1:

在此示例中,我们可以看到,通过使用numpy.random.uniform()方法,我们能够从均​​匀分布中获取随机样本并返回随机样本。

# import numpy 
import numpy as np 
import matplotlib.pyplot as plt 
  
# Using uniform() method 
gfg = np.random.uniform(-5, 5, 5000) 
  
plt.hist(gfg, bins = 50, density = True) 
plt.show()

 

 

 函数原型: numpy.random.uniform(low,high,size)

  • 功能:从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.
  • 参数介绍:
    low: 采样下界,float类型,认值为0;
    high: 采样上界,float类型,认值为1;
    size: 输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出 m * n * k 个样本,缺省时输出1个值。
    返回值:ndarray类型,其形状和参数size中描述一致。

mean() 函数

numpy.mean(a, axis, dtype, out,keepdims )
mean()函数功能:求取均值
经常操作的参数为axis,以m * n矩阵举例:
    axis 不设置值,对 m*n 个数求均值,返回一个实数
    axis = 0:压缩行,对各列求均值,返回 1* n 矩阵
    axis =1:压缩列,对各行求均值,返回 m *1 矩阵
    


np.testing.assert_equal

用法:

testing.assert_equal(actual, desired, err_msg='', verbose=True)

 

如果两个对象不相等,则引发 AssertionError。

给定两个对象(标量、列表、元组、字典或 numpy 数组),检查这些对象的所有元素是否相等。在第一个冲突值处引发异常。

当actual 和desired 之一是标量而另一个是数组 时,该函数检查数组 对象的每个元素是否等于标量。

函数处理 NaN 比较,就好像 NaN 是 “normal” 数字一样。也就是说,如果两个对象在相同位置都有 NaN,则不会引发 AssertionError。这与关于 NaN 的 IEEE 标准形成对比,后者表示 NaN 与任何东西相比都必须返回 False。

参数

@H_502_129@ actual array_like

要检查的对象。

@H_502_129@ desired array_like

预期的对象。

@H_502_129@ err_msg str,可选

失败时要打印的错误消息。

@H_502_129@ verbose 布尔型,可选

如果为 True,则将冲突值附加到错误消息中。

抛出

@H_502_129@AssertionError

如果实际和期望不相等。

例子

>>> np.testing.assert_equal([4,5], [4,6])
Traceback (most recent call last):
    ...
AssertionError:
Items are not equal:
item=1
 ACTUAL:5
 DESIRED:6

 

np.random.choice 从数组中随机抽取元素

参数replace
用来设置是否可以取相同元素:
True表示可以取相同数字;
False表示不可以取相同数字。
认是True

参数p
p实际是个数组,大小(size)应该与指定的a相同,用来规定选取a中每个元素的概率,认为概率相同

import numpy as np

# 参数意思分别 是从a 中以概率P,随机选择3个, p没有指定的时候相当于是一致的分布
a1 = np.random.choice(a=5, size=3, replace=False, p=None)
print(a1)
# 非一致的分布,会以多少的概率提出来
a2 = np.random.choice(a=5, size=3, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0])
print(a2)
# replacement 代表的意思是抽样之后还放不放回去,如果是False的话,那么出来的三个数都不一样,如果是True的话, 有可能会出现重复的,因为前面的抽的放回去了。
# ————————————————
# 链接:https://blog.csdn.net/qfpkzheng/article/details/79061601

结果

[0 2 1]
[3 0 2]

 

 

 

REF

https://vimsky.com/examples/usage/numpy-random-uniform-in-python.html

https://www.zhihu.com/question/424417883/answer/1703791656

https://blog.csdn.net/lilong117194/article/details/78397329/

https://vimsky.com/examples/usage/python-numpy.testing.assert_equal.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐