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中强大的命令行库click入门教程
Dec 26 Python
Python文本统计功能之西游记用字统计操作示例
May 07 Python
Python3+Appium安装使用教程
Jul 05 Python
pytorch 获取tensor维度信息示例
Jan 03 Python
python 实现PIL模块在图片画线写字
May 16 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
May 22 Python
Java byte数组操纵方式代码实例解析
Jul 22 Python
Python 执行矩阵与线性代数运算
Aug 01 Python
零基础学python应该从哪里入手
Aug 11 Python
Django crontab定时任务模块操作方法解析
Sep 10 Python
如何将Pycharm中调整字体大小的方式设置为"ctrl+鼠标滚轮上下滑"
Nov 17 Python
两行代码解决Jupyter Notebook中文不能显示的问题
Apr 24 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
漂亮但不安全的CTB
2006/10/09 PHP
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
PHP 数组基础知识小结
2010/08/20 PHP
PHP生成不同颜色、不同大小的tag标签函数
2013/09/23 PHP
浅谈PHP中的数据传输CURL
2016/09/06 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
2014/09/23 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
JavaScript仿商城实现图片广告轮播实例代码
2016/02/06 Javascript
javascript基础语法——全面理解变量和标识符
2016/06/02 Javascript
常用的js验证和数据处理总结
2016/08/02 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
JS实现的数字格式化功能示例
2017/02/10 Javascript
分享十三个最佳JavaScript数据网格库
2017/04/07 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
vue绑定class与行间样式style详解
2017/08/16 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
详解webpack编译多页面vue项目的配置问题
2017/12/11 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
python网络编程之文件下载实例分析
2015/05/20 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
pandas数据拼接的实现示例
2020/04/16 Python
Timberland美国官网:全球领先的户外品牌
2016/08/15 全球购物
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
创建青年文明号材料
2014/05/09 职场文书
整改通知书
2015/04/20 职场文书
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python