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中使用第三方库xlrd来读取Excel示例
Apr 05 Python
浅谈Python中copy()方法的使用
May 21 Python
Python单链表简单实现代码
Apr 27 Python
Python 基于Twisted框架的文件夹网络传输源码
Aug 28 Python
Python Queue模块详细介绍及实例
Dec 27 Python
Python实现的FTP通信客户端与服务器端功能示例
Mar 28 Python
Python get获取页面cookie代码实例
Sep 12 Python
对pandas中时间窗函数rolling的使用详解
Nov 28 Python
Python 类属性与实例属性,类对象与实例对象用法分析
Sep 20 Python
Python中if有多个条件处理方法
Feb 26 Python
python实现飞机大战项目
Mar 11 Python
Python命名空间及作用域原理实例解析
Aug 12 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
PHP curl 并发最佳实践代码分享
2012/09/05 PHP
解析Win7 XAMPP apache无法启动的问题
2013/06/26 PHP
基于php实现的php代码加密解密类完整实例
2016/10/12 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
2014/02/27 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
2015/04/16 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
JS字符串常用操作方法实例小结
2019/06/24 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
python海龟绘图实例教程
2014/07/24 Python
在Python程序中操作MySQL的基本方法
2015/07/29 Python
Python生成随机验证码的两种方法
2015/12/22 Python
kaggle+mnist实现手写字体识别
2018/07/26 Python
python使用PIL给图片添加文字生成海报示例
2018/08/17 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
python dict乱码如何解决
2020/06/07 Python
python 5个实用的技巧
2020/09/27 Python
关于HTML5你必须知道的28个新特性,新技巧以及新技术
2012/05/28 HTML / CSS
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
数控技术应届生求职信
2013/11/13 职场文书
化学教师教学反思
2014/01/17 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
英语分层教学实施方案
2014/06/15 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
担保书范本
2015/01/20 职场文书
医院志愿者活动总结
2015/05/06 职场文书
Html5调用企业微信的实现
2021/04/16 HTML / CSS