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基础教程之Hello World!
Aug 29 Python
python装饰器与递归算法详解
Feb 18 Python
python利用rsa库做公钥解密的方法教程
Dec 10 Python
Python File readlines() 使用方法
Mar 19 Python
python 实现UTC时间加减的方法
Dec 31 Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
Sep 26 Python
Python爬虫之urllib基础用法教程
Oct 12 Python
基于python操作ES实例详解
Nov 16 Python
python模块和包的应用BASE_PATH使用解析
Dec 14 Python
TensorFLow 数学运算的示例代码
Apr 21 Python
利用Vscode进行Python开发环境配置的步骤
Jun 22 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代码优化的53个细节
2014/03/03 PHP
php检测apache mod_rewrite模块是否安装的方法
2015/03/14 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
PHP Hash算法:Times33算法代码实例
2015/05/13 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
2013/05/19 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
浅谈javascript中字符串String与数组Array
2014/12/31 Javascript
javascript如何操作HTML下拉列表标签
2015/08/20 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
深入理解vue-class-component源码阅读
2019/02/18 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
python 快速排序代码
2009/11/23 Python
python转换摩斯密码示例
2014/02/16 Python
python topN 取最大的N个数或最小的N个数方法
2018/06/04 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
Python类成员继承重写的实现
2020/09/16 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
linux比较文件内容的命令是什么
2015/09/23 面试题
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
求职简历自荐信
2013/10/20 职场文书
路政管理专业推荐信
2013/11/11 职场文书
影视制作岗位职责
2013/12/04 职场文书
自荐书范文范例
2014/02/13 职场文书
清扬洗发水广告词
2014/03/14 职场文书
医药营销个人求职信
2014/04/12 职场文书
青年安全生产示范岗事迹材料
2014/05/04 职场文书
学习十八大标语
2014/10/09 职场文书
工作表现证明
2015/06/15 职场文书