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 zip文件 压缩
Dec 24 Python
python编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
python如何将图片转换为字符图片
Aug 19 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
Apr 02 Python
Python基于TCP实现会聊天的小机器人功能示例
Apr 09 Python
python 将md5转为16字节的方法
May 29 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
Jun 21 Python
python 列表、字典和集合的添加和删除操作
Dec 16 Python
python序列化与数据持久化实例详解
Dec 20 Python
浅谈Tensorflow 动态双向RNN的输出问题
Jan 20 Python
python实现用户名密码校验
Mar 18 Python
python 实现的车牌识别项目
Jan 25 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在window iis的莫名问题的测试方法
2013/05/14 PHP
yii实现级联下拉菜单的方法
2014/07/31 PHP
joomla组件开发入门教程
2016/05/04 PHP
PHP生成可点击刷新的验证码简单示例
2016/05/13 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
2017/02/15 PHP
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
jQuery 选择器项目实例分析及实现代码
2012/12/28 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
Iframe实现跨浏览器自适应高度解决方法
2014/09/02 Javascript
使用window.prompt()实现弹出用户输入的对话框
2015/04/13 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
js纯数字逐一停止显示效果的实现代码
2016/03/16 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
解决Extjs下拉框不显示的问题
2017/06/21 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
2020/09/02 Javascript
jquery实现简单每周轮换的日历
2020/09/10 jQuery
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法
2019/01/18 HTML / CSS
泰国演唱会订票网站:StubHub泰国
2018/02/26 全球购物
英国优质家居用品网上品牌:URBANARA
2018/06/01 全球购物
金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-> (一千零一拾一元整)输出
2015/05/29 面试题
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
英语老师推荐信
2014/02/26 职场文书
管理提升方案
2014/06/04 职场文书
欢迎新生标语
2014/10/06 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
律师函格式范本
2015/05/27 职场文书
大学开学感言
2015/08/01 职场文书
canvas实现贪食蛇的实践
2022/02/15 Javascript