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创建学生成绩管理系统

    python创建学生成绩管理系统

    这篇文章主要为大家详细介绍了python创建学生成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Django学习笔记之为Model添加Action

    Django学习笔记之为Model添加Action

    这篇文章主要介绍了Django给admin添加Action,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • python字符串拼接的7种方法及性能比较详解

    python字符串拼接的7种方法及性能比较详解

    这篇文章主要介绍了python字符串拼接的7种方法详解,需要的朋友可以参考下
    2021-04-04
  • Python实现定时发送监控邮件

    Python实现定时发送监控邮件

    这篇文章主要为大家讲解如何用python连接邮箱,实现自动发送监控邮件,文中的示例讲解详细,对我们了解Python有一定的帮助,需要的可以参考一下
    2022-01-01
  • Windows下Python的Django框架环境部署及应用编写入门

    Windows下Python的Django框架环境部署及应用编写入门

    这篇文章主要介绍了Windows下Python的Django框架环境部署及程序编写入门,Django在Python的框架中算是一个重量级的MVC框架,本文将从程序部署开始讲到hellow world web应用的编写,需要的朋友可以参考下
    2016-03-03
  • sublime3之内网安装python插件Anaconda的流程

    sublime3之内网安装python插件Anaconda的流程

    这篇文章主要介绍了sublime3之内网安装python插件Anaconda的流程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 对Python实现累加函数的方法详解

    对Python实现累加函数的方法详解

    今天小编就为大家分享一篇对Python实现累加函数的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python如何实现向上取整

    python如何实现向上取整

    这篇文章主要介绍了python如何实现向上取整问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Python创建日历实例

    Python创建日历实例

    这篇文章主要介绍了Python创建日历实例,不使用Python提供的calendar实现,需要的朋友可以参考下
    2014-08-08
  • 使用Python Tkinter实现剪刀石头布小游戏功能

    使用Python Tkinter实现剪刀石头布小游戏功能

    这篇文章主要介绍了使用Python Tkinter实现剪刀石头布小游戏功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10

最新评论