numpy自动生成数组详解
作者:曹孟德 发布时间:2023-09-02 22:53:47
标签:numpy,数组
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.])
来源:https://www.cnblogs.com/td15980891505/p/6082858.html


猜你喜欢
- 目录方法一:直接调用函数运行方法二:使用偏函数来执行方法三:使用 eval 动态执行方法四:使用 getattr 动态获取执行方法五:使用类
- 前言:平时根据需求写代码.人工进行测试往往不会面面俱到,还会因为需求的改变繁琐的进行测试通过完成一个测试函数,可以大大简化测试的步骤,并且在
- PHP count_chars() 函数实例返回一个字符串,包含所有在 "Hello World!" 中使用过的不同字符
- 不用库,写了很久,一直出bug,到网上一搜,可以直接输入之后,eval(str)即可得到结果!eval程序如下:s=input("
- 相信大家平时都有这样的经历:页面上有一个链接指向服务器一个Word文件,当客户端机器有安装Office时,点击链接将调用Word打开浏览;当
- 什么是wxs?wxs(WeiXin Script)是小程序的一套脚本语言, 结合WXML, 可以构建出页面结构.wxs标签<wxs m
- 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级
- golang 字符串 int uint int64 uint64 互转字符串 转 intintNum, _ = strconv.Atoi(i
- 数据平台 Kaggle 近日发布了 2017 机器学习及数据科学调查报告,这也是 Kaggle 首次进行全行业调查。调查共收到超过 1600
- SQL SERVER 中有四个系统表master, model, msdb,tempdb.这四个表有什么用?一般DB使用中我们开发人员很少去
- 基于邮件通知的服务监控和告警系统主要功能点:配置专用日志格式记录耗时日志格式:'simple':{'format
- 来看看效果图对比:字符验证码: → 加法验证码:优点:①与纯字符验证码相比,本程序效防止了绝大部分(99%以上)广告机的自动识别。即使是中文
- 前言:常见的加密算法基本分为这几类:线性散列算法(签名算法)MD5,sha1对称性加密算法 AES DES非对称性加密算法 RSA一、md5
- 1、序言  上一节快速搭建Express开发系统步骤,对如何使用express-generator创建一
- 前言MySQL性能优化是一个老生常谈的问题,无论是在实际工作中还是面试中,都不可避免遇到相应的场景,下面博主就总结一些能够帮助大家解决这个问
- 英文文档:class type(object)class type(name, bases, dict)With one argument,
- 实验环境:tensorflow版本1.2.0,python2.7介绍关于空洞卷积的理论可以查看以下链接,这里我们不详细讲理论:1.Long
- Python 爬虫图片简单实现经常在逛知乎,有时候希望把一些问题的图片集中保存起来。于是就有了这个程序。这是一个非常简单的图片爬虫程序,只能
- 这篇文字讲述如何使用Python把一张完整的大图切割成9份小图片,制作朋友圈九宫格图文分享。原图如下: 我们想要利用这张图制作高逼
- Vue 路由传参加密首先,创建一个base64.jsconst Base64 = { //加密 en