numpy自动生成数组详解


Posted in Python onDecember 15, 2017

1 np.arange(),类似于range,通过指定开始值,终值和步长来创建表示等差数列的一维数组,注意该函数和range一样结果不包含终值。

>>> np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> np.arange(0,1,0.1)
array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
>>>

2 np.linspace()函数,与上面np.arange不同的是,该函数第三个参数指定的是元素个数,它表示给定起始值和终点值以及元素个数,生成一个一维的等差数列。含有参数endpoint布尔值,默认为True表示包含终值,设定为False表示不包含终值。

>>> np.linspace(0,1,10)
array([ 0.    , 0.11111111, 0.22222222, 0.33333333, 0.44444444,
    0.55555556, 0.66666667, 0.77777778, 0.88888889, 1.    ])
>>> np.linspace(0,1,10,endpoint = False)
array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])

3 np.logspace,该函数与np.linspace类似,不过它生成的数组是等比数列,基数默认为10

>>> np.logspace(0,4,5)
array([ 1.00000000e+00,  1.00000000e+01,  1.00000000e+02,
     1.00000000e+03,  1.00000000e+04])

但是基数也可以改变,例如将基数base = 2,如下:

>>> np.logspace(0,3,5,base = 2)
array([ 1. , 1.68179283, 2.82842712, 4.75682846, 8. ])

上面表示,起点为2^0 = 1,终点为2^3 = 8,一共按照等比数列生成5个点,这样公比q = 2^(3/4)

4. np.zeros(),np.ones(),np.empty()可以创建指定的形状和类型数组,其中np.enpty()只分配数组所使用的内存,不对数据初始化起作用。

>>> np.empty((2,3),np.int32)
array([[ 8078112, 37431728, 8078112],
    [47828800, 47828712,    10]])

注意上面创建的2*3的数组并没有被初始化。

>>> np.ones(4)
array([ 1., 1., 1., 1.])
>>> np.ones((2,3))
array([[ 1., 1., 1.],
    [ 1., 1., 1.]])
>>> np.ones(4,dtype = np.bool)
array([ True, True, True, True], dtype=bool)
>>> np.zeros(4,dtype = np.bool)
array([False, False, False, False], dtype=bool)
>>> np.zeros(4)
array([ 0., 0., 0., 0.])

np.full()函数可以生成初始化为指定值的数组

>> np.full(4,np.pi)
array([ 3.14159265, 3.14159265, 3.14159265, 3.14159265])
>>> np.full((2,3),np.pi)
array([[ 3.14159265, 3.14159265, 3.14159265],
    [ 3.14159265, 3.14159265, 3.14159265]])

此外np.zeros_like(),np.ones_like()等函数创建于参数形状相同的数组即np.zeros_like(a)与np.zeros(a.shape,dtype = a.type)相同

>>> a = np.arange(10).reshape(2,5)
>>> np.zeros_like(a)
array([[0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0]])

5 np.fromfunction(),它可以从指定的函数中生成数组,第一个参数是函数名称,第二个参数是数组形状。 

>>> np.fromfunction(lambda a,b:a == b,(3,3))
array([[ True, False, False],
    [False, True, False],
    [False, False, True]], dtype=bool)
>>> np.fromfunction(lambda i:i%7 +1,(10,))
array([ 1., 2., 3., 4., 5., 6., 7., 1., 2., 3.])

总结

以上就是本文关于numpy自动生成数组详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python绘图库Matplotlib的安装
Jul 03 Python
python3操作微信itchat实现发送图片
Feb 24 Python
python 运用Django 开发后台接口的实例
Dec 11 Python
Python GUI编程完整示例
Apr 04 Python
详解Python的三种可变参数
May 08 Python
浅析PyTorch中nn.Module的使用
Aug 18 Python
Python实现使用dir获取类的方法列表
Dec 24 Python
keras:model.compile损失函数的用法
Jul 01 Python
Python使用requests模块爬取百度翻译
Aug 25 Python
Python图像读写方法对比
Nov 16 Python
Python 实现一个简单的web服务器
Jan 03 Python
Python使用海龟绘图实现贪吃蛇游戏
Jun 18 Python
Python3实现发送QQ邮件功能(附件)
Dec 23 #Python
numpy排序与集合运算用法示例
Dec 15 #Python
Python3实现发送QQ邮件功能(html)
Dec 15 #Python
Python3实现发送QQ邮件功能(文本)
Dec 15 #Python
numpy数组拼接简单示例
Dec 15 #Python
浅谈numpy数组的几种排序方式
Dec 15 #Python
Python多线程爬虫实战_爬取糗事百科段子的实例
Dec 15 #Python
You might like
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
JavaScript的Cookies
2008/01/16 Javascript
Jquery 绑定时间实现代码
2011/05/03 Javascript
删除节点的jquery代码
2014/01/13 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
让alert不出现弹窗的两种方法
2014/05/18 Javascript
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
jQuery Validate表单验证深入学习
2015/12/18 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
2017/05/11 Javascript
JavaScript解析任意形式的json树型结构展示
2017/07/23 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
2018/10/31 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
2019/06/24 Javascript
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
python装饰器深入学习
2018/04/06 Python
完美解决Python 2.7不能正常使用pip install的问题
2018/06/12 Python
python爬虫 urllib模块url编码处理详解
2019/08/20 Python
ipad上运行python的方法步骤
2019/10/12 Python
解决Tensorboard 不显示计算图graph的问题
2020/02/15 Python
python扫描线填充算法详解
2020/02/19 Python
Python实现ElGamal加密算法的示例代码
2020/06/19 Python
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
沃尔玛加拿大:Walmart.ca
2020/03/02 全球购物
学生发电厂实习自我鉴定
2013/09/22 职场文书
保洁主管岗位职责
2013/11/20 职场文书
办公设备采购方案
2014/03/16 职场文书
程序员求职信
2014/04/16 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
人与自然的观后感
2015/06/18 职场文书
《坐井观天》教学反思
2016/02/18 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL
JS前端canvas交互实现拖拽旋转及缩放示例
2022/08/05 Javascript