Numpy 数据处理 ndarray使用详解
作者:ZacheryZHANG 发布时间:2021-01-30 18:05:11
标签:Numpy,数据处理,ndarray
1. ndarray的属性
数组的属性反映了数组本身固有的信息。常用的查看数组属性的相关语法如下表格所示:
属性名称 | 属性解释 |
---|---|
ndarray.shape | 数组维度的元组 |
ndarray.ndim | 数组维数 |
ndarray.size | 数组中的元素数量 |
ndarray.itemsize | 一个数组元素的长度(字节) |
ndarray.dtype | 数组元素的类型 |
下面,我们将针对ndarray的各种属性,进行代码演示。
代码演示如下所示:
import numpy as np
score = np.array([[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]])
print(score.shape) # 数组维度的元组
print(score.ndim) # 数组维数
print(score.size) # 数组中的元素数量
print(score.itemsize) # 一个数组元素的长度(字节)
print(score.dtype) # 数组元素的类型
代码运行结果如下图所示:
注意:关于数组的维度,想知道数组有几维,最简单的办法就是看数组最外侧有多少个中括号,以上代码中传入的数组score有两个中括号,因此数组维数为2。
2. 数组的形状
关于数组形状,我们直接附上一段代码来理解:
c = np.array([[[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]], [[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]]])
print("c的数组维度:", c.shape)
以上代码运行结果如下图所示:
此处,输出的结果(2,4,3)(2,4,3)(2,4,3)的含义为:在最外层有2个二维数组。在二维数组里面,有4个一维数组。在一维数组里,有3个元素。
3. ndarray的类型
dtype是numpy.dtype类型,基本上之前所接触过的数据类型,这里面都支持。例如,bool、int32、int64、float32、uint8、complex64等等。
在我们创建array的同时是可以指定数组ndarray类型的。具体语法如下所示:
a = np.array([[[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]], [[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]]], dtype=np.float32)
print(a.dtype)
print(a)
代码运行结果如下图所示:可以发现结果中的数组元素带有小数点了。
当然,数组也可以存储字符串:
b = np.array(["python", "hello", "1"], dtype=np.string_)
print(b)
运行结果如下图所示:
来源:https://juejin.cn/post/7136941964393447454
0
投稿
猜你喜欢
- Oracle text是Oracle的全文检索技术,是9i版本标准版和企业版的一部分。Oracle text使用标准的sql语言索引、查找、
- 前言在写波段配准相关代码时经常需要用到tif影像的波段合成和分解,虽然可以用ENVI才处理,但是每次都要打开再设置一些参数有些麻烦,所以本着
- 用在产品内容展示的页面上,给产品图片加上提示工具条,鼠标移动图片上即可看到效果,效果还是不错的:带黑白效果和放大图片效果(by misshj
- 数组我们已经提到过,对象是无序数据的集合,而数组则是有序数据的集合,数组中的数据(元素)通过索引(从0开始)来访问,数组中的数据可以是任何的
- Python 相对路径报错:"No such file or directory"'原因及解决方法如果你取相对路
- jQuery是一个非常优秀的JavaScript 框架,使用简单灵活,同时还有许多成熟的插件可供选择,它可以帮助你在项目中加入一些非常好的效
- MySQL有多种存储引擎:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、
- 有2种方法:一、 QML中定义一个信号,连接Python里的函数;这里的函数不用特意指明为槽函数,普通函数即可。QML的信号连接Python
- 一:购物车管理功能1.添加商品(不重复添加)、2.删除商品(购物车中有的才能删除)、3.查看购物车4.退出系统产品列表products =
- 1. PHP入侵检测系统PHP IDS(即PHP-入侵检测系统)是一套易于使用、结构良好、速度出色且专门面向PHP类Web应用程序的先进安全
- 文件上传是所有UI自动化测试都要面对的一个头疼问题,今天博主在这里给大家分享下自己处理文件上传的经验,希望能够帮助到广大被文件上传坑住的se
- 原理:建立一个任务队列,然多个线程都从这个任务队列中取出任务然后执行,当然任务队列要加锁,详细请看代码import threadingimp
- python内置模块collections介绍collections是Python内建的一个集合模块,提供了许多有用的集合类。1、named
- 搜索是大数据领域里常见的需求。Splunk和ELK分别是该领域在非开源和开源领域里的领导者。本文利用很少的Python代码实现了一个基本的数
- 这篇文章主要介绍了微信小程序顶部导航栏可滑动并选中放大,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 前言在机器学习中,我们会经常和矩阵打交道。在矩阵的运算中,python默认的输出是浮点数,但是如果我们想要矩阵的元素以分数的形式显示,可以通
- PyQt5中信号与槽可以说是对事件处理机制的高级封装,如果说事件是用来创建窗口控件的,那么信号与槽就是用来对这个控件进行使用的,比如一个按钮
- W3C发布了WCAG 2.0提案(Web Content Accessibility Guidelines 网页内容无障碍指南),大概为了实
- 一、引入方式from itertools import cycle二、使用方法我们先来看看它的源码cycle它接收一个可迭代对象,可以将一个
- 代码如下:<% Function Bytes2bStr(vin,cSet) Dim BytesStream,StringReturn