python numpy.array_python的numpy.array

为什么要用numpy

Python中提供了list容器,可以当作数组使用。但列表中的元素可以是任何对象,因此列表中保存的是对象的指针,这样一来,为了保存一个简单的列表[1,2,3]。就需要三个指针和三个整数对象。对于数值运算来说,这种结构显然不够高效。

Python虽然也提供了array模块,但其只支持一维数组,不支持多维数组(在TensorFlow里面偏向于矩阵理解),也没有各种运算函数。因而不适合数值运算。

NumPy的出现弥补了这些不足。

(——摘自张若愚的《Python科学计算》)

import numpy as np

数组创建

## 常规创建方法

a = np.array([2,3,4])

b = np.array([2.0,3.0,4.0])

c = np.array([[1.0,2.0],[3.0,4.0]])

d = np.array([[1,2],[3,4]],dtype=complex) # 指定数据类型

print a, a.dtype

print b, b.dtype

print c, c.dtype

print d, d.dtype

[2 3 4] int32

[ 2.  3.  4.] float64

[[ 1.  2.]

[ 3.  4.]] float64

[[ 1.+0.j  2.+0.j]

[ 3.+0.j  4.+0.j]] complex128

数组的常用函数

print np.arange(0,7,1,dtype=np.int16) # 0为起点,间隔为1时可缺省(引起歧义下不可缺省)

print np.ones((2,3,4),dtype=np.int16) # 2页,3行,4列,全1,指定数据类型

print np.zeros((2,3,4)) # 2页,3行,4列,全0

print np.empty((2,3)) #值取决于内存

print np.arange(0,10,2) # 起点为0,不超过10,步长为2

print np.linspace(-1,2,5) # 起点为-1,终点为2,取5个点

print np.random.randint(0,3,(2,3)) # 大于等于0,小于3,2行3列的随机整数

[0 1 2 3 4 5 6]

[[[1 1 1 1]

[1 1 1 1]

[1 1 1 1]]

[[1 1 1 1]

[1 1 1 1]

[1 1 1 1]]]

[[[ 0.  0.  0.  0.]

[ 0.  0.  0.  0.]

[ 0.  0.  0.  0.]]

[[ 0.  0.  0.  0.]

[ 0.  0.  0.  0.]

[ 0.  0.  0.  0.]]]

[[  1.39069238e-309   1.39069238e-309   1.39069238e-309]

[  1.39069238e-309   1.39069238e-309   1.39069238e-309]]

[0 2 4 6 8]

[-1.   -0.25  0.5   1.25  2.  ]

[[1 0 1]

[0 1 0]]

类型转换

print float(1)

print int(1.0)

print bool(2)

print float(True)

1.0

1

True

1.0

数组输出

从左到右,从上向下

一维数组打印成行,二维数组打印成矩阵,三维数组打印成矩阵列表

print np.arange(1,6,2)

print np.arange(12).reshape(3,4) # 可以改变输出形状

print np.arange(24).reshape(2,3,4)# 2页,3行,4页

[1 3 5]

[[ 0  1  2  3]

[ 4  5  6  7]

[ 8  9 10 11]]

[[[ 0  1  2  3]

[ 4  5  6  7]

[ 8  9 10 11]]

[[12 13 14 15]

[16 17 18 19]

[20 21 22 23]]]

基本运算

## 元素级运算

a = np.array([1,2,3,4])

b = np.arange(4)

print a, b

print a-b

print a*b

print a**2

print 2*np.sin(a)

print a>2

print np.exp(a) # 指数

[1 2 3 4] [0 1 2 3]

[1 1 1 1]

[ 0  2  6 12]

[ 1  4  9 16]

[ 1.68294197  1.81859485  0.28224002 -1.51360499]

[False False  True  True]

[  2.71828183   7.3890561   20.08553692  54.59815003]

## 矩阵运算(二维数组)a = np.array([[1,2],[3,4]]) # 2行2列b = np.arange(6).reshape((2,-1)) # 2行3列print a,bprint a.dot(b) # 2行3列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前沿科技】云计算军事运用有啥特点

来源: 军语开源情报研究所云计算技术被视为继大型计算机、个人计算机、互联网之后的第四次信息技术产业革命。云计算是一种围绕分布式共享计算资源的创新应用模式,资源提供者可以方便而快速地提供计算资源,而无处不在的资源需求者可以便利地使…

tools URL 收集

每次恢复快照都会把CHrome的标签弄没,所以将收藏的好资源放在这里以免又丢了。 IP 段查询下载,做黑白名单用的到 http://ipblock.chacuo.net/ 转载于:https://www.cnblogs.com/M4ster/p/tools_url.html

python 通过ip获取城市_python 根据ip获取地理位置

!/usr/bin/pythoncodingutf-8import dpktimport socketimport pygeoipimport optparsegi pygeoip.GeoIP(GeoLiteCity.dat)查询数据库相关的城市信息并输出def printRecord(tgt):rec gi.record_by_name(tgt)city rec[city]# 原来的代码为 region rec[region_name]&#xff0…

js原型和原型链_JS 构造函数与原型链

JavaScript 对象体系是基于构造函数和原型链的。继承不通过类,而是通过原型对象实现,原型对象的所有属性和方法,都能被实例对象共享。构造函数(constructor)在 JS 中想要生成可重用、可继承的对象就要使用构造函数&…

全球制造业的未来

来源:航空简报2020年3月4日,Brahima Coulibaly和Karim Foda在美国布鲁金斯学会官网刊文,分析了全球制造业的未来,提出了几个鲜明的观点:1.“比较优势”将发生转移,中等收入国家尤其是许多亚洲新兴经济体&am…

关于解决织梦文档栏目删除后ID 从1开始的方法

在织梦当删除文档栏目后,再重新建立文档时,它的id就会按照刚才建立的文档的id的数值再增加一个, 比如,开始建立的文档id是1,当删除后,要重新再建立一个文档时,文档的后面的id已经不是从1开始&am…

mybatis 批量修改_解放双手,不写SQL!一个开源 MyBatis 神器!!

什么是通用 Mapper?它是一个可以方便的使用 Mybatis 进行单表的增删改查优秀开源产品。它使用拦截器来实现具体的执行 Sql,完全使用原生的 Mybatis 进行操作。在 Github 上标星 9.6K!为什么要用 Mapper?它提供了所有单表的基本增删…

论文速读:AI能从人类的愚蠢中学到什么?

来源:混沌巡洋舰本文来自对下面论文的编译和解读:导读:随着机器在某些认知问题上超越人类,人机协作将会带来越来越显著的影响。造成人类偏见的三个主要原因(小而不完整的数据集,从自己的决策结果中学习&…

struts2的核心和工作原理

在学习struts2之前,首先我们要明确使用struts2的目的是什么?它能给我们带来什么样的优点? 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的优点就不在提了。技术优势 Struts2有双方面的技术优势,一…

python函数递归法求一个数各位数之和_python – 设计一个使用digit_sum计算数字总和的递归函数...

要获得(正整数)数字的最后一位数,您可以计算模数&#xff1a;last_digit n % 10该数字的其余部分(不包括最后一个地方)是&#xff1a;rest (n - last_digit) / 10理论上这应该足以分割数字并添加数字&#xff1a;def sum_digits(n):if n < 10:return nelse:last_digit n …

mysql允许root远程连接_西部数码使用指南:远程桌面之终端服务器超出了最大允许连接数解决...

版权归西部数码所有&#xff0c;原文链接&#xff1a;https://www.west.cn/faq/list.asp?unid739出现这种情况的原因和解决办法。 原因:用远程桌面链接登录到终端服务器时经常会遇到“终端服务器超出最大允许链接数”诸如此类错误导致无法正常登录终端服务器&#xff0c;引起该…

关于征集2020重大科学问题和工程技术难题的通知

来源&#xff1a;中国指挥与控制学会学会全体会员&#xff1a;为研判未来科技发展趋势、前瞻谋划和布局前沿科技领域与方向&#xff0c;瞄准世界科技前沿&#xff0c;推进世界科技强国建设&#xff0c;根据《中国科协办公厅关于征集2020重大科学问题和工程技术难题的通知》精神…

java hive配置_Hive配置项的含义详解(1)

一个hive任务&#xff0c;如何才算是优化的任务&#xff0c;hadoop job config里哪些配置能影响hive的效率。看看hive的详细配置我们可以略知一二。hive的配置&#xff1a;hive.ddl.output.format&#xff1a;hive的ddl语句的输出格式&#xff0c;默认是text&#xff0c;纯文本…

怎么在别人网站注入js脚本_别人的网站是怎么实现引流的?这些站外SEO技巧是关键...

点击上方蓝字关注我们&#xff01;因为分享&#xff0c;我们相遇在SEO路上“网站上线一段时间了&#xff0c;为什么没有流量&#xff1f;为什么没有询盘&#xff1f;”对于做网络营销的企业而言&#xff0c;网站流量与询盘是建立网站的根本目的&#xff0c;可是为什么操作了一段…

比尔盖茨NEJM发文:新冠肺炎是百年一遇的流行病!全世界应该如何应对?

来源&#xff1a;生物谷面对任何危机&#xff0c;政府都有两个同等重要的责任&#xff1a;解决眼前的问题&#xff0c;并防止它再次发生。COVID-19大流行就是一个恰当的例子。我们现在需要拯救生命&#xff0c;同时也需要改善我们应对疫情的方式。第一点更为紧迫&#xff0c;但…

java实现上传图片代码_Java图片上传实现代码

本文实例为大家分享了java图片上传代码&#xff0c;供大家参考&#xff0c;具体内容如下import java.io.*;import java.net.*;/**发送端*/class picsend{public static void main(String[] args) throws Exception{if(args.length!1){System.out.println("请选择一张.jpg图…

每个努力奋斗过的人,被不公正的际遇砸了满头包的时候,都有那么一瞬间的代入感。出生就是hard模式的人,早已经历了太多的劳其筋骨饿其体肤,再多的人为考验只会摧毁人对美好的向往。...

每个努力奋斗过的人&#xff0c;被不公正的际遇砸了满头包的时候&#xff0c;都有那么一瞬间的代入感。出生就是hard模式的人&#xff0c;早已经历了太多的劳其筋骨饿其体肤&#xff0c;再多的人为考验只会摧毁人对美好的向往。转载于:https://www.cnblogs.com/dj258/p/6805629…

python 利器_Python的爬虫利器之urllib

urllib包urllib是一个包含几个模块来处理请求的库&#xff1a;- urllib.request发送http请求- urllib.error处理请求过程中出现的异常- urllib.parse解析url- urllib.robotparser解析robots.txt文件一般我们爬虫只需要常用的几个&#xff0c;下面只列出比较常用的函数我们使用u…

中国数学相比与西方数学为什么会处于劣势?

来源&#xff1a;数学职业家虽然中国人更习惯【中国数学相比与西方数学为什么会处于劣势&#xff1f;】的视角&#xff0c;但私以为问【西欧数学为何可以独步天下】更合适。因为曾经辉煌过的阿拉伯数学、印度数学都落寞了。也没有其他任何地区的文明能达成西欧的成就。另外&…

java的地位和优势,Java语言之所以能持续占领霸主地位 这些优势功不可没

java作为一个真正面向对象语言&#xff0c;驰骋IT界二十余载&#xff0c;一直独占编程语言排行榜榜首&#xff0c;成为广泛使用的开发编程语言&#xff0c;为什么java就能够持续占领霸主地位呢&#xff1f;有哪些必然的优势呢&#xff1f;这首要的优势就是&#xff1a;既然是真…