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 基础学习教程
Feb 08 Python
简单解决Python文件中文编码问题
Nov 22 Python
Python 列表排序方法reverse、sort、sorted详解
Jan 22 Python
批处理与python代码混合编程的方法
May 19 Python
通过5个知识点轻松搞定Python的作用域
Sep 09 Python
Python对象类型及其运算方法(详解)
Jul 05 Python
python利用paramiko连接远程服务器执行命令的方法
Oct 16 Python
Tensorflow使用tfrecord输入数据格式
Jun 19 Python
使用Scrapy爬取动态数据
Oct 21 Python
一篇文章搞懂Python的类与对象名称空间
Dec 10 Python
Python for循环及基础用法详解
Nov 08 Python
python实现学生信息管理系统(面向对象)
Jun 05 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猜单词游戏
2015/09/29 PHP
PHP和C#可共用的可逆加密算法详解
2015/10/26 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
jquery使用hide方法隐藏指定id的元素
2015/03/30 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
原生js实现淘宝放大镜效果
2020/10/28 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
2019/05/12 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
[55:44]完美世界DOTA2联赛决赛 FTD vs Phoenix 第二场 11.08
2020/11/11 DOTA
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
Python列表切片操作实例总结
2019/02/19 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
css3中的calc函数浅析
2018/07/10 HTML / CSS
普师专业个人自荐信范文
2013/11/26 职场文书
高一自我鉴定
2013/12/17 职场文书
运动会通讯稿400字
2014/01/28 职场文书
赔偿协议书范本
2014/04/15 职场文书
相亲活动方案
2014/08/26 职场文书
群众路线剖析材料
2014/09/30 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
老乡会致辞
2015/07/28 职场文书
幼儿园教学反思范文
2016/03/02 职场文书