numpy创建三维空数组_numpy数组的创建和属性转换

bbe8c0b95cf15ec961c0a88be2a35609.png

一、数据与numpy数组的创建

1、 python数组的创建

python中的固定类型数组:

python中提供了几种将数组存储在有效的、固定类型的数据缓存中的选项。内置的数组(array)模块可以创建按统一类型的密集数组:

3eb4f55e43b11c5b0c913ea72cf8f60e.png

这里的“i”表示的是一个数据类型码,表示数据为整型。

更实用的是ndarray数组对象,Python的数组对象提供了数组类型的有效存储,而Numpy为该数据加上了高效的操作。稍后将会介绍这些操作,这里先集中展示创建Numpy数组的方法:

2、 Numpy数组的创建

从python列表创建数组:

c298919e5a44aedb94792ebada4c430a.png
  • 创建整数型

b4cce95f01f3690c34f15c84d433cd87.png
  • 指定类型创建数组

814dd4ba398a0bbb7aa725d4073c2863.png
  • 根据内容,自动创建对应数据类型

2c70c960829fd6e58638f0a4fd8c03df.png

创建np数组时需要强调元素类型的一致。如果类型不同则会自动向上转换。

2.1dtype参数进行强制类型转换或类型指定

cd4825113271eb78f4269de9f5711dcf.png

2.2生成嵌套数组

手动创建嵌套数组

59539878c58a9da12691396e07aa2274.png

使用公式嵌套数组

8084b7aec1995d2077ac542dfcb7c709.png

3、11中创建ndarray数组的高效创建方法

面对大型数组,用Numpy数组时,用Numpy内置方法从头创建数组时一种高效的方法,以下是几个示例:

3.1 创建一个元素都为0 的n * m 的多(2)维数组

np.zeros((维度,行数,列数),dtype = "指定类型(float32/int32/str)")

  • 创建一个10列元素类型为浮点型的数组,在仅指定一个参数时,创建的表示一行,指定列数,默认为浮点型。

63ee99b9b5f88884999f52db83bc2d6b.png
  • 创建一个3行4列元素类型为整数型的数组, 仅指定两个参数时,表示的是行数和列数。

301eb7fdaf3af6b48a836d51634661f5.png
  • 创建一个2维3行4列元素类型为整数型的数组, 指定三个参数时,表示的是维度,行数和列数。

6ad05b181bbc8ef0c4c7d861b6f8df79.png

3.2 创建一个元素都为1的n*m的多(3)维数组

np.ones((维度,行数,列数),dtype = "指定类型(float32/int32/str)")

3244eaac8fb39fc578f0e9dd6f523e63.png
  • 传维度参数的时候,放在一个容器中,可以是元组,也可以是列表

2c18b595f95a460f5c013f03be15685a.png

3.3创建一个的整数型数组,数组的值是一个线性序列。

np.arange(start[真包含], end[假包含], step)

  • 创建一个从0开始30结束,步长为3的数组

3735ae88b92c3e0aa14530b8a119004f.png
  • 创建一个从1开始30结束的数组

2bae8638c256debb3975d6166b9a1c14.png
  • 创建一个长度到10结束的数组

0ab35b6bb34a917b3843fd0a200241b7.png

3.4创建一个50个元素的数组,这50个数均匀地分配到1~10

np.linspace(start, stop, 平均分成的分数)

403c0dcfb7a50123834eeb94f52cf78e.png

3.5 创建一个在0-1之间随机分布的由随机数组成的数组

np.random.random((维度,行数, 列数))

  • 创建一个3列的随机数数组

c1cd2983f62059db2e411b1d36d1e75e.png
  • 创建一个3行3列的随机数数组

3930efdfb8406a0dce2d4f453efd5d98.png
  • 创建一个3维3行3列的数组

43f382acd5d122d3a31406e333f5a010.png

其他生成随机数的方法

  • 创建一个服从标准正态分布的数组

np.random.randn(维度,行数,列数)

  • 创建均匀分布[0,1)上的数组

np.random.rand(维度,行数,列数)

3.6 创建一个正态分布的随机数数组

np.random.normal(均值, 方差, (维度,行数, 列数))

  • 创建一个均值为0,方差为1,3维3行3列的随机数数组

beff058cf7436bec4abcc8679bb8cb57.png

3.7创建一个服从设置区间的随机数整数型的数组

np.random.randint(start, stop, (维度,行数, 列数))

  • 创建从0开始10结束,3维3行3列的整数型数组

18f8e651483b33eefc56cb9adeaee2be.png

3.8 创建一个对角线元素都为1,其他位置元素都为0的单位矩阵

np.eye(行数,列数,dype=’元素类型(默认为浮点型)’)

  • 创建一个4列的单位矩阵,如果仅指定一个参数,默认为列数,行数会默认为是列数。

79a4d478d46817e8c8101d59792da7c7.png
  • 创建一个4行3列的单位矩阵

9873967229ea571073ec4b441de5cc74.png

3.9创建一个由m*n维未初始化的数组,数组的值是内存空间中的任意值

np.empty(n)

a96481e8c695f3426e135ca37581e67f.png

3.10 创建一个指定元素的对角矩阵

Np.diag(n)

  • 创建对角元素为1,2,3,4的对角矩阵

5163346db3dcb13c93799b996791b673.png

3.11创建一个指定行列,和指定内容的数组

Np.full((维度,行数,列数),指定值(可以是一个数组,也可以是一个列表或嵌套列表))

  • 创建一个3维3行5列,值全部为3.14的数组

333661b8465655f0f56a8619c38cec5a.png

二、数组的基本操作

1、查看Nddaray属性

数组的属性:

  • 数组的维度:ndim
  • 数组每个维度的大小:shape
  • 数组的总大小(元素的总个数):size
  • 数组类型:dtype
  • 数组元素字节大小:itemsize;nbytes

现在我们定义三个数组, 一维数组, 二维数组, 三维数组,为了确保大家都能生成一样的数组, 我们先设置随机数种子。

Np.random.seed可以使生成随机数时可以生成一样的随机数

a1e453fb7000b5d2cc34d2357641c700.png

1.1查看数组的形状

efdaed77b6c7378984143b65aa2dd3fc.png

1.2查看数组的维度

c9d4ec82924d9039619a353e2f70f916.png

1.3 查看数组的总大小

21f1729da8d72e24e8e45c6a8911303f.png

1.4查看数组的数据类型

606b8e5284b40bf47e5e96dfa2ed7db9.png

1.5查看数组中每个元素的大小(所占用内存的大小)

98f13ad7c643e0a37ef20083e3ca3a06.png

1.6查看数组的总大小(占用内存的大小)

5c822f8becce009f46080b28077b0bab.png

1.7对数组进行转置

3b115e1fe164dfb92f6a50f832bf0b99.png

1.8其他查看属性的方法

Ndarray.flags

有关数组的内存布局的信息。

Ndarray.shape

数组维数组。

Ndarray.ndim

数组维数,在Python世界中,维度的数量被称为rank。

Ndarray.data

Python缓冲区对象指向数组的数据的开始。

Ndarray.size

数组中的元素总个数。

Ndarray.itemsize

一个数组元素的长度(以字节为单位)。

Ndarray.dtype

数组元素的数据类型。

Ndarray.T

数组的转置。

2.Numpy数据类型以及类型转换

Numpy中的数组比 Python 原生中的数组(只支持整数类型与浮点类型)强大的一点就是它支持更多的数据类型。

2.1 numpy基本数据类型

Numpy常见的基本数据类型如下:

数据类型

描述

bool_

布尔(True或False),存储为一个字节

int_

默认整数类型(与C long相同;通常为int64或int32)

intc

与C int(通常为int32或int64)相同

intp

用于索引的整数(与C ssize_t相同;通常为int32或int64)

int8

字节(-128到127)

int16

整数(-32768到32767)

int32

整数(-2147483648至2147483647)

int64

整数(-9223372036854775808至9223372036854775807)

uint8

无符号整数(0到255)

uint16

无符号整数(0到65535)

uint32

无符号整数(0至4294967295)

uint64

无符号整数(0至18446744073709551615)

float_

float64的简写。

float16

半精度浮点:符号位,5位指数,10位尾数

float32

单精度浮点:符号位,8位指数,23位尾数

float64

双精度浮点:符号位,11位指数,52位尾数

complex_

complex128的简写。

complex64

复数,由两个32位浮点(实数和虚数分量)

complex128

复数,由两个64位浮点(实数和虚数分量)

虽然有这么多的数据类型,但是我们平时用的时候仅需要知道(int,bool,float,complex,str)这几种就可以了,暂时不需要去记这么多。

这些类型都可以在创建ndarray的时候通过dtype来制定

5d35b90670976c8fdd0448da27f6639b.png

2.2数据类型的转换

数组直接数据类型的转换首选是.astype()方法,或者使用类型本身作为函数。

c5ccf89ebc0051e345f2c5fda17408ae.png

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

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

相关文章

各类木材强度_凯狄解析各类抽芯铆钉的工作原理

开口型抽芯铆钉:铆钉铆接后,钉芯在钉芯头与钉芯杆交接处或其附近断裂,钉芯头和一小部分钉芯杆留在铆钉体中。其抗剪强度类似于空心铆钉连接。封闭型抽芯铆钉:铆钉铆接后仍保持封闭的铆钉体。在铆钉体与被连接件的接触面之间采取密…

ppt流程图字体太小_简单三步,用WPS轻松完成一个又大气又好看的流程图!

点击蓝字 关注我们流程图是工作中经常需要用到的图形,使用 WPS 可以方便地创建流程图。创建的流程图保存在云文档后,可以随时插入 WPS 的其他组件。新建流程图文件流程图可以从 WPS 的其他组件中创建,如 WPS 文字、WPS 表格等,也可…

class传参 python_Python类的概念、定义、属性、继承

1.面向对象(Object Oriented,OO)概念面向对象,是我们编程的一种思维。早期的计算机编程是基于面向过程的方法,例如实现算术运算112 4,通过设计一个算法就可以解决当时的问题。随着计算机技术的不断提高,计算机被用于解决越来越复…

4x4矩阵键盘工作原理及扫描程序_单片机人机交互矩阵按键

按键是一种常开型按钮开关,与单片机的常见接法如图所示。按键未按下时两个触点断开,单片机I/O口输入高电平;当按键闭合时,I/O口输入低电平。一、按键讲解当I/O口为P0口时,由于没有内部上拉电阻,所以必须外接…

android给数组添加新元素_重磅!超详细的 JS 数组方法整理出来了

作者:Yushiahttps://juejin.cn/post/6907109642917117965数组是 js 中最常用到的数据集合,其内置的方法有很多,熟练掌握这些方法,可以有效的提高我们的工作效率,同时对我们的代码质量也是有很大影响。一、创建数组1.使…

小米登录协议分析_性能测试篇之Loadrunner与ida工具结合完成java vuser协议的脚本...

你这么优秀,一定只想把“柠檬班”置顶▲→性能3期优秀作业利用lr的java vuser协议完成(登录,md5加密完成重置支付密码,获取订单列表)请求,并加if判断完善脚本本文由柠檬班性能3期学员eleven根据作业原创出品。1工作准备jdk版本的选…

发动机压缩比怎么计算公式_2020沃德十佳发动机出炉:这三款机头,20万内就能买到...

引言 | 内燃机最后的巅峰?《Wards Auto World》每年都会发布沃德十佳发动机榜单,2020年度的榜单早在去年底已经出炉,但小编觉得仍有可讲之处。考虑到老美特殊的驾驶环境,地广人稀,基础设施齐全,人工费奇高&…

计算ln_钢筋工程算量培训-钢筋工程量计算公式

框架梁一首跨钢筋的计算1、上部贯通筋上部贯通筋(上通长筋1)长度=通跨净跨长+首尾端支座锚固值2、端支座负筋端支座负筋长度:第一排为Ln/3+端支座锚固值;第二排为Ln/4+端支座锚固值3…

智能照明控制系统电路图_咻享智能|学校教室智能照明控制系统怎么理解

教室是学校照明用电的主要部分。教室灯光照度设计标准为室内平均照度300 lx,这样高的照度要求,如果没有合理控制方案,能源上将造成巨大的浪费。因此将智能照明控制系统应用于普通教室、阶梯教室具有相当的实际意义。对于学校而言,…

redis关键字删除_微信公众号文章防删除

阅读本文大概需要 3.6 分钟。前段时间《一个出身寒门的状元之死》刷屏了,当我看完了这篇文章,很有感触,一开始我以为是事实,后来才发现完全是虚构,对于我来讲并不是非常在乎文章中的故事是否是真实的,我在乎…

java单链表节点翻转_Java数据结构01-链表基础(讲解+代码+面试题)

文章结构链表的概念/用处链表的基本代码实现(韩顺平Java数据结构网课)剑指offer上链表题目代码实现(个人手敲,更精巧的答案可以参考官网)链表链表包含单链表,双向链表,循环链表等等。相对于线性…

分解连续自然数的和_小学奥数各年级经典题解题技巧大全——分解因数法(2)...

*例7:在等式35( )8127718( )162的两个括号中,填上适当的最小的数。(适于六年级程度)解:将已知等式的两边分解质因数,得:5377( )22367( )把上面的等式化简,得:15( )4( )所以&a…

即席和即兴_即兴说话小课堂

即 兴 说 话 小 课 堂了解发音的小知识,运用语言技巧,通过音色、音强,来达到的一种发音。发音的能力,更重要的是提高自己的普通话水平,锻炼自己的综合能力。师兄的课堂是非常难得,大家一起来学习吧&a…

云片短信php接口_php与阿里云短信接口接入

使用阿里云短信API,需要在控制台获取以下必要参数,其中需要自己手机验证官方审核多次,尤其审核需要保持耐心。1. accessKeyId 相当于你的个人账户密钥;2. accessKeySecret 与上是成对的;3. SignName 个人签名&#xff…

读中文_校友分享预告 | 在港中文读物理是什么体验?理科就业转商科有何经验心得?...

留学分享会总第233期港新地区校友分享实录商科《19年入读港大金融师姐带来最新香港就读体验与求职经验》《在香港大学读金融是怎样一种体验?》《在香港大学读会计是怎样一种体验?》《在香港大学读商业分析是怎样一种体验?》《在新加坡国立大学…

命令逐行显示_在LoadRunner中执行命令行程序之:popen()取代system()

》》》推荐阅读《《《1、性能测试学习笔记-场景设计2、性能测试的重要意义3、性能分析流程及方法4、应用系统性能调优之性能分析在LoadRunner中执行命令行程序之:popen()取代system() 我想大家应该都知道在LoadRunner可以使用函数system()来调用系统指令&#xf…

的使用go_使用 Go 开发 Prometheus Exporter

Exporter 是 Prometheus 监控的核心,如果你遇到一些应用不存在相应的 Exporter,那么我们可以自己去编写 Exporter。下面我们简单介绍如何使用 Golang 来快速编写一个 Exporter。1. 安装 GO 和依赖包按照 https://golang.org/doc/install 上的步骤进行安装…

flask 获取前端form内容_flask 项目中使用 bootstrapFileInput(进阶篇)

bootstrap 为 flask 使用人员提供了一个非常优美且有效的前端页面组件,但是完美之处还存在些许缺陷,比如文件的上传功能.而 bootstrap-fileinput 是基于 bootstrap 的控件,非常完美的填补了这个空缺.注意: 本文是基于 bootstrap-fileinput v4.4.2. github 地址: https://github…

phpstudy能安装不带mysql的么_装了phpstudy还需要装mysql吗

phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的ApachePHPMySQLphpMyAdminZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。对…

mysql 5.1.53_mysql 5.1.53免安装版的优化配备和精简

mysql 5.1.53免安装版的优化配置和精简[摘要]MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。本文介绍mysql-noinstall.zip免安装版的优化配置和精简。欢迎大家阅…