Numpy创建数组和随机数组的方法小结

 更新时间:2023年11月22日 09:12:08   作者:阿桐木123  
这篇文章主要为大家详细介绍了Numpy创建数组和随机数组的方法小结,文中的示例代码讲解详细,对我们学习Python有一定帮助,具有一定的参考价值,需要的可以参考一下

numpy.random官方文档

一、创建数组

1.Numpy.array()

numpy.array(object,dtype=None,copy=True,order=None,ndmin=0)

参数:

  • object:表示一个数组序列
  • dtype: 通过它可以更改数组的数据类型,可以自填参数
  • copy: 表示数组能否被复制,默认值为True
  • order: 以哪种内存布局创建数组,有 3 个可选值,分别是 C(行序列)/F(列序列)/A(默认)
  • ndmin: 用于指定数组的维度

例子:

1.

a = np.array([127, 128, 129], dtype=np.int8)
>>> a
array([ 127, -128, -127], dtype=int8)

2.

a = np.array([2, 3, 4], dtype=np.uint32)
>>> b = np.array([5, 6, 7], dtype=np.uint32)
>>> c_unsigned32 = a - b
>>> print('unsigned c:', c_unsigned32, c_unsigned32.dtype)
unsigned c: [4294967293 4294967293 4294967293] uint32
>>> c_signed32 = a - b.astype(np.int32)
>>> print('signed c:', c_signed32, c_signed32.dtype)
signed c: [-3 -3 -3] int64

2.Numpy.arrange()

注意:numpy.arange的最佳实践是使用整数开始、结束和步进值。关于dtype有一些微妙之处。在第二个示例中,定义了dtype。在第三个示例中,数组是dtype=float,以适应0.1的步长。由于四舍五入错误,有时包括停止值。

np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> np.arange(2, 10, dtype=float)
array([2., 3., 4., 5., 6., 7., 8., 9.])
>>> np.arange(2, 3, 0.1)
array([2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9])

3.常用的生成方法

np.zeros((2, 3))
array([[0., 0., 0.],
       [0., 0., 0.]])
>>> np.zeros((2, 3, 2))
array([[[0., 0.],
        [0., 0.],
        [0., 0.]],

       [[0., 0.],
        [0., 0.],
        [0., 0.]]])

Ndarray创建函数,例如numpy.ones、numpy.zeros和随机定义基于所需形状的数组。Ndarray创建函数可以通过指定元组或列表中该维度的维度和长度来创建具有任何维度的数组。

Numpy.zeros将创建一个充满指定形状的0值的数组。默认的dtype是float64:

np.ones((2, 3))
array([[1., 1., 1.],
       [1., 1., 1.]])
>>> np.ones((2, 3, 2))
array([[[1., 1.],
        [1., 1.],
        [1., 1.]],

       [[1., 1.],
        [1., 1.],
        [1., 1.]]])

二、随机数组

1. random函数

random函数是最常见的生成随机数的方法,用于在区间[0,1)中生成均匀分布的随机数或随机数数组。

print('生成10个随机数组:',np.random.random(10))
生成10个随机数组: [0.78403643 0.86951582 0.46432236 0.60289239 0.47522589 0.47570346
 0.08911971 0.60222356 0.09509883 0.39883192]

2. rand函数

本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。

np.random.rand(d0,d1,d2……dn) 
np.random.rand(2,3)
array([[0.48142724, 0.47994795, 0.3866318 ],
       [0.11259652, 0.97729317, 0.21072319]])

3. randn() 函数

np.random.randn(d0, d1, d2, ..., dn)是一个NumPy函数,用于生成服从标准正态分布(均值为0,标准差为1)的随机数的数组。

这个函数可以有不同的使用方式:

  • 如果没有参数,函数返回一个单个的浮点数。
  • 如果函数括号内有一个参数,函数返回一个一维数组,其秩为1。需要注意的是,该数组不能表示向量或矩阵,仅表示一维数据。
  • 如果函数括号内有两个或多个参数,函数返回具有对应维度的数组,可以表示向量或矩阵。
  • 另外,np.random.standard_normal()函数与np.random.randn()类似,但是它的输入参数是一个元组(tuple)。

总结一下:

  • np.random.randn()生成服从标准正态分布的随机数数组。
  • 使用不同数量的参数可以控制生成数组的维度。
  • np.random.standard_normal()是一种类似的函数,但接受一个元组作为参数。
np.random.randn(2,3)
array([[-0.23037688, -0.95561502,  0.49889129],
       [ 1.75961354, -0.59473613, -2.66341955]])

4. randint() 函数

np.random.randint(low, high=None, size=None, dtype=int)是一个NumPy函数,用于生成指定范围内的随机整数数组。

该函数的格式如下:

  • 参数low表示生成随机整数的最小值。
  • 参数high表示生成随机整数的最大值(不包含在结果中)。如果未提供high参数,则默认范围为[0, low)。
  • 参数size是可选的,用于指定生成的随机整数数组的维度。如果未设置size,则仅生成一个随机整数。如果想生成多个随机整数,可以使用一个元组来指定数组的维度信息。
  • 参数dtype是可选的,表示生成的随机整数的数据类型,默认为np.int

总结一下:

  • np.random.randint()可以生成指定范围内的随机整数数组。
  • 可以通过设置lowhigh参数来指定生成随机整数的范围。
  • 可以使用size参数来指定生成的随机整数数组的维度。
  • dtype参数可以用来指定生成的随机整数的数据类型。
np.random.randint(1,9,size = [2,3])
array([[2, 8, 3],
       [6, 4, 6]])

以上就是Numpy创建数组和随机数组的方法小结的详细内容,更多关于Numpy创建数组和随机数组的资料请关注脚本之家其它相关文章!

相关文章

  • 使用Python设置、更改及移除Word文档密码

    使用Python设置、更改及移除Word文档密码

    给Word文档设置打开密码是常见的Word文档加密方式,如果我们需要对大量的Word文档进行加密、解密处理,Python是一个不错的选择,本文将介绍如何使用Python设置、更改或移除Word文档的加密,需要的朋友可以参考下
    2024-03-03
  • python request要求接口参数必须是json数据的处理方式

    python request要求接口参数必须是json数据的处理方式

    这篇文章主要介绍了python request要求接口参数必须是json数据的处理方式,Reqeusts支持以form表单形式发送post请求,只需要将请求的参数构造成一个字典,然后传给requests.post()的data参数即可,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2022-08-08
  • Python获取当前时间的方法

    Python获取当前时间的方法

    这篇文章主要介绍了Python获取当前时间的方法,有需要的朋友可以参考一下
    2014-01-01
  • pytorch之关于PyTorch结构介绍

    pytorch之关于PyTorch结构介绍

    这篇文章主要介绍了pytorch之关于PyTorch结构的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Flask  使用Gunicorn部署服务介绍

    Flask  使用Gunicorn部署服务介绍

    这篇文章主要分享了 Flask  使用Gunicorn部署服务介绍,Flask 虽然自带 Web 服务器,但是该服务器性能较低,是单进程单线程模型,原本是供开发测试使用。所以我们在生产环境中需要使用 Gunicorn 这样高性能服务器部署Flask服务,想了解更多内容,请参考下面详细内容
    2021-11-11
  • Pytorch之ToPILImage()不输出图片问题及解决

    Pytorch之ToPILImage()不输出图片问题及解决

    这篇文章主要介绍了Pytorch之ToPILImage()不输出图片问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • matplotlib画图之修改坐标轴刻度问题

    matplotlib画图之修改坐标轴刻度问题

    这篇文章主要介绍了matplotlib画图之修改坐标轴刻度问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Pytorch通过保存为ONNX模型转TensorRT5的实现

    Pytorch通过保存为ONNX模型转TensorRT5的实现

    这篇文章主要介绍了Pytorch通过保存为ONNX模型转TensorRT5的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python依赖管理及打包工具Poetry使用规范

    Python依赖管理及打包工具Poetry使用规范

    这篇文章主要为大家介绍了Python依赖管理及打包工具Poetry的依赖规范,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-09-09
  • Python使用Matlab命令过程解析

    Python使用Matlab命令过程解析

    这篇文章主要介绍了Python使用Matlab命令过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06

最新评论